Share via


Microsoft.DataProtection backupVaults/backupPolicies

Choose a deployment language

Bicep resource definition

The backupVaults/backupPolicies 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.DataProtection/backupVaults/backupPolicies resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DataProtection/backupVaults/backupPolicies@2025-02-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    datasourceTypes: [
      'string'
    ]
    objectType: 'string'
    // For remaining properties, see BaseBackupPolicy objects
  }
}

DeleteOption objects

Set the objectType property to specify the type of object.

For AbsoluteDeleteOption, use:

{
  objectType: 'AbsoluteDeleteOption'
}

BackupParameters objects

Set the objectType property to specify the type of object.

For AzureBackupParams, use:

{
  backupType: 'string'
  objectType: 'AzureBackupParams'
}

CopyOption objects

Set the objectType property to specify the type of object.

For CopyOnExpiryOption, use:

{
  objectType: 'CopyOnExpiryOption'
}

For CustomCopyOption, use:

{
  duration: 'string'
  objectType: 'CustomCopyOption'
}

For ImmediateCopyOption, use:

{
  objectType: 'ImmediateCopyOption'
}

BasePolicyRule objects

Set the objectType property to specify the type of object.

For AzureBackupRule, use:

{
  backupParameters: {
    objectType: 'string'
    // For remaining properties, see BackupParameters objects
  }
  dataStore: {
    dataStoreType: 'string'
    objectType: 'string'
  }
  objectType: 'AzureBackupRule'
  trigger: {
    objectType: 'string'
    // For remaining properties, see TriggerContext objects
  }
}

For AzureRetentionRule, use:

{
  isDefault: bool
  lifecycles: [
    {
      deleteAfter: {
        duration: 'string'
        objectType: 'string'
        // For remaining properties, see DeleteOption objects
      }
      sourceDataStore: {
        dataStoreType: 'string'
        objectType: 'string'
      }
      targetDataStoreCopySettings: [
        {
          copyAfter: {
            objectType: 'string'
            // For remaining properties, see CopyOption objects
          }
          dataStore: {
            dataStoreType: 'string'
            objectType: 'string'
          }
        }
      ]
    }
  ]
  objectType: 'AzureRetentionRule'
}

TriggerContext objects

Set the objectType property to specify the type of object.

For AdhocBasedTriggerContext, use:

{
  objectType: 'AdhocBasedTriggerContext'
  taggingCriteria: {
    tagInfo: {
      tagName: 'string'
    }
  }
}

For ScheduleBasedTriggerContext, use:

{
  objectType: 'ScheduleBasedTriggerContext'
  schedule: {
    repeatingTimeIntervals: [
      'string'
    ]
    timeZone: 'string'
  }
  taggingCriteria: [
    {
      criteria: [
        {
          objectType: 'string'
          // For remaining properties, see BackupCriteria objects
        }
      ]
      isDefault: bool
      taggingPriority: int
      tagInfo: {
        tagName: 'string'
      }
    }
  ]
}

BaseBackupPolicy objects

Set the objectType property to specify the type of object.

For BackupPolicy, use:

{
  objectType: 'BackupPolicy'
  policyRules: [
    {
      name: 'string'
      objectType: 'string'
      // For remaining properties, see BasePolicyRule objects
    }
  ]
}

BackupCriteria objects

Set the objectType property to specify the type of object.

For ScheduleBasedBackupCriteria, use:

{
  absoluteCriteria: [
    'string'
  ]
  daysOfMonth: [
    {
      date: int
      isLast: bool
    }
  ]
  daysOfTheWeek: [
    'string'
  ]
  monthsOfYear: [
    'string'
  ]
  objectType: 'ScheduleBasedBackupCriteria'
  scheduleTimes: [
    'string'
  ]
  weeksOfTheMonth: [
    'string'
  ]
}

Property Values

AbsoluteDeleteOption

Name Description Value
objectType Type of the specific object - used for deserializing 'AbsoluteDeleteOption' (required)

AdhocBasedTaggingCriteria

Name Description Value
tagInfo Retention tag information RetentionTag

AdhocBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'AdhocBasedTriggerContext' (required)
taggingCriteria Tagging Criteria containing retention tag for adhoc backup. AdhocBasedTaggingCriteria (required)

AzureBackupParams

Name Description Value
backupType BackupType ; Full/Incremental etc string (required)
objectType Type of the specific object - used for deserializing 'AzureBackupParams' (required)

AzureBackupRule

Name Description Value
backupParameters BackupParameters base BackupParameters
dataStore DataStoreInfo base DataStoreInfoBase (required)
objectType 'AzureBackupRule' (required)
trigger Trigger context TriggerContext (required)

AzureRetentionRule

Name Description Value
isDefault bool
lifecycles SourceLifeCycle[] (required)
objectType 'AzureRetentionRule' (required)

BackupCriteria

Name Description Value
objectType Set to 'ScheduleBasedBackupCriteria' for type ScheduleBasedBackupCriteria. 'ScheduleBasedBackupCriteria' (required)

BackupParameters

Name Description Value
objectType Set to 'AzureBackupParams' for type AzureBackupParams. 'AzureBackupParams' (required)

BackupPolicy

Name Description Value
objectType 'BackupPolicy' (required)
policyRules Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc BasePolicyRule[] (required)

BackupSchedule

Name Description Value
repeatingTimeIntervals ISO 8601 repeating time interval format string[] (required)
timeZone Time zone for a schedule. Example: Pacific Standard Time string

BaseBackupPolicy

Name Description Value
datasourceTypes Type of datasource for the backup management string[] (required)
objectType Set to 'BackupPolicy' for type BackupPolicy. 'BackupPolicy' (required)

BasePolicyRule

Name Description Value
name string (required)
objectType Set to 'AzureBackupRule' for type AzureBackupRule. Set to 'AzureRetentionRule' for type AzureRetentionRule. 'AzureBackupRule'
'AzureRetentionRule' (required)

CopyOnExpiryOption

Name Description Value
objectType Type of the specific object - used for deserializing 'CopyOnExpiryOption' (required)

CopyOption

Name Description Value
objectType Set to 'CopyOnExpiryOption' for type CopyOnExpiryOption. Set to 'CustomCopyOption' for type CustomCopyOption. Set to 'ImmediateCopyOption' for type ImmediateCopyOption. 'CopyOnExpiryOption'
'CustomCopyOption'
'ImmediateCopyOption' (required)

CustomCopyOption

Name Description Value
duration Data copied after given timespan string
objectType Type of the specific object - used for deserializing 'CustomCopyOption' (required)

DataStoreInfoBase

Name Description Value
dataStoreType type of datastore; Operational/Vault/Archive 'ArchiveStore'
'OperationalStore'
'VaultStore' (required)
objectType Type of Datasource object, used to initialize the right inherited type string (required)

Day

Name Description Value
date Date of the month int
isLast Whether Date is last date of month bool

DeleteOption

Name Description Value
duration Duration of deletion after given timespan string (required)
objectType Set to 'AbsoluteDeleteOption' for type AbsoluteDeleteOption. 'AbsoluteDeleteOption' (required)

ImmediateCopyOption

Name Description Value
objectType Type of the specific object - used for deserializing 'ImmediateCopyOption' (required)

Microsoft.DataProtection/backupVaults/backupPolicies

Name Description Value
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: backupVaults
properties BaseBackupPolicyResource properties BaseBackupPolicy

RetentionTag

Name Description Value
tagName Retention Tag Name to relate it to retention rule. string (required)

ScheduleBasedBackupCriteria

Name Description Value
absoluteCriteria it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth"
and should be part of AbsoluteMarker enum
String array containing any of:
'AllBackup'
'FirstOfDay'
'FirstOfMonth'
'FirstOfWeek'
'FirstOfYear'
daysOfMonth This is day of the month from 1 to 28 other wise last of month Day[]
daysOfTheWeek It should be Sunday/Monday/T..../Saturday String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
monthsOfYear It should be January/February/....../December String array containing any of:
'April'
'August'
'December'
'February'
'January'
'July'
'June'
'March'
'May'
'November'
'October'
'September'
objectType Type of the specific object - used for deserializing 'ScheduleBasedBackupCriteria' (required)
scheduleTimes List of schedule times for backup string[]
weeksOfTheMonth It should be First/Second/Third/Fourth/Last String array containing any of:
'First'
'Fourth'
'Last'
'Second'
'Third'

ScheduleBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'ScheduleBasedTriggerContext' (required)
schedule Schedule for this backup BackupSchedule (required)
taggingCriteria List of tags that can be applicable for given schedule. TaggingCriteria[] (required)

SourceLifeCycle

Name Description Value
deleteAfter Delete Option DeleteOption (required)
sourceDataStore DataStoreInfo base DataStoreInfoBase (required)
targetDataStoreCopySettings TargetCopySetting[]

TaggingCriteria

Name Description Value
criteria Criteria which decides whether the tag can be applied to a triggered backup. BackupCriteria[]
isDefault Specifies if tag is default. bool (required)
taggingPriority Retention Tag priority. int (required)
tagInfo Retention tag information RetentionTag (required)

TargetCopySetting

Name Description Value
copyAfter It can be CustomCopyOption or ImmediateCopyOption. CopyOption (required)
dataStore Info of target datastore DataStoreInfoBase (required)

TriggerContext

Name Description Value
objectType Set to 'AdhocBasedTriggerContext' for type AdhocBasedTriggerContext. Set to 'ScheduleBasedTriggerContext' for type ScheduleBasedTriggerContext. 'AdhocBasedTriggerContext'
'ScheduleBasedTriggerContext' (required)

Usage Examples

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Create Disk & enable protection via Backup Vault Template that creates a disk and enables protection via Backup Vault
Create MySqlFlex server & enable protection via Backup Vault Template that creates a MySQL Flexible Server and enables protection via Backup Vault
Create PgFlex server & enable protection via Backup Vault Template that creates a PostgreSQL Flexible Server and enables protection via Backup Vault
Create Storage Account & enable protection via Backup Vault Template that creates storage account and enable operational and vaulted backup via Backup Vault

ARM template resource definition

The backupVaults/backupPolicies 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.DataProtection/backupVaults/backupPolicies resource, add the following JSON to your template.

{
  "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
  "apiVersion": "2025-02-01",
  "name": "string",
  "properties": {
    "datasourceTypes": [ "string" ],
    "objectType": "string"
    // For remaining properties, see BaseBackupPolicy objects
  }
}

DeleteOption objects

Set the objectType property to specify the type of object.

For AbsoluteDeleteOption, use:

{
  "objectType": "AbsoluteDeleteOption"
}

BackupParameters objects

Set the objectType property to specify the type of object.

For AzureBackupParams, use:

{
  "backupType": "string",
  "objectType": "AzureBackupParams"
}

CopyOption objects

Set the objectType property to specify the type of object.

For CopyOnExpiryOption, use:

{
  "objectType": "CopyOnExpiryOption"
}

For CustomCopyOption, use:

{
  "duration": "string",
  "objectType": "CustomCopyOption"
}

For ImmediateCopyOption, use:

{
  "objectType": "ImmediateCopyOption"
}

BasePolicyRule objects

Set the objectType property to specify the type of object.

For AzureBackupRule, use:

{
  "backupParameters": {
    "objectType": "string"
    // For remaining properties, see BackupParameters objects
  },
  "dataStore": {
    "dataStoreType": "string",
    "objectType": "string"
  },
  "objectType": "AzureBackupRule",
  "trigger": {
    "objectType": "string"
    // For remaining properties, see TriggerContext objects
  }
}

For AzureRetentionRule, use:

{
  "isDefault": "bool",
  "lifecycles": [
    {
      "deleteAfter": {
        "duration": "string",
        "objectType": "string"
        // For remaining properties, see DeleteOption objects
      },
      "sourceDataStore": {
        "dataStoreType": "string",
        "objectType": "string"
      },
      "targetDataStoreCopySettings": [
        {
          "copyAfter": {
            "objectType": "string"
            // For remaining properties, see CopyOption objects
          },
          "dataStore": {
            "dataStoreType": "string",
            "objectType": "string"
          }
        }
      ]
    }
  ],
  "objectType": "AzureRetentionRule"
}

TriggerContext objects

Set the objectType property to specify the type of object.

For AdhocBasedTriggerContext, use:

{
  "objectType": "AdhocBasedTriggerContext",
  "taggingCriteria": {
    "tagInfo": {
      "tagName": "string"
    }
  }
}

For ScheduleBasedTriggerContext, use:

{
  "objectType": "ScheduleBasedTriggerContext",
  "schedule": {
    "repeatingTimeIntervals": [ "string" ],
    "timeZone": "string"
  },
  "taggingCriteria": [
    {
      "criteria": [ {
        "objectType": "string"
        // For remaining properties, see BackupCriteria objects
      } ],
      "isDefault": "bool",
      "taggingPriority": "int",
      "tagInfo": {
        "tagName": "string"
      }
    }
  ]
}

BaseBackupPolicy objects

Set the objectType property to specify the type of object.

For BackupPolicy, use:

{
  "objectType": "BackupPolicy",
  "policyRules": [ {
    "name": "string",
    "objectType": "string"
    // For remaining properties, see BasePolicyRule objects
  } ]
}

BackupCriteria objects

Set the objectType property to specify the type of object.

For ScheduleBasedBackupCriteria, use:

{
  "absoluteCriteria": [ "string" ],
  "daysOfMonth": [
    {
      "date": "int",
      "isLast": "bool"
    }
  ],
  "daysOfTheWeek": [ "string" ],
  "monthsOfYear": [ "string" ],
  "objectType": "ScheduleBasedBackupCriteria",
  "scheduleTimes": [ "string" ],
  "weeksOfTheMonth": [ "string" ]
}

Property Values

AbsoluteDeleteOption

Name Description Value
objectType Type of the specific object - used for deserializing 'AbsoluteDeleteOption' (required)

AdhocBasedTaggingCriteria

Name Description Value
tagInfo Retention tag information RetentionTag

AdhocBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'AdhocBasedTriggerContext' (required)
taggingCriteria Tagging Criteria containing retention tag for adhoc backup. AdhocBasedTaggingCriteria (required)

AzureBackupParams

Name Description Value
backupType BackupType ; Full/Incremental etc string (required)
objectType Type of the specific object - used for deserializing 'AzureBackupParams' (required)

AzureBackupRule

Name Description Value
backupParameters BackupParameters base BackupParameters
dataStore DataStoreInfo base DataStoreInfoBase (required)
objectType 'AzureBackupRule' (required)
trigger Trigger context TriggerContext (required)

AzureRetentionRule

Name Description Value
isDefault bool
lifecycles SourceLifeCycle[] (required)
objectType 'AzureRetentionRule' (required)

BackupCriteria

Name Description Value
objectType Set to 'ScheduleBasedBackupCriteria' for type ScheduleBasedBackupCriteria. 'ScheduleBasedBackupCriteria' (required)

BackupParameters

Name Description Value
objectType Set to 'AzureBackupParams' for type AzureBackupParams. 'AzureBackupParams' (required)

BackupPolicy

Name Description Value
objectType 'BackupPolicy' (required)
policyRules Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc BasePolicyRule[] (required)

BackupSchedule

Name Description Value
repeatingTimeIntervals ISO 8601 repeating time interval format string[] (required)
timeZone Time zone for a schedule. Example: Pacific Standard Time string

BaseBackupPolicy

Name Description Value
datasourceTypes Type of datasource for the backup management string[] (required)
objectType Set to 'BackupPolicy' for type BackupPolicy. 'BackupPolicy' (required)

BasePolicyRule

Name Description Value
name string (required)
objectType Set to 'AzureBackupRule' for type AzureBackupRule. Set to 'AzureRetentionRule' for type AzureRetentionRule. 'AzureBackupRule'
'AzureRetentionRule' (required)

CopyOnExpiryOption

Name Description Value
objectType Type of the specific object - used for deserializing 'CopyOnExpiryOption' (required)

CopyOption

Name Description Value
objectType Set to 'CopyOnExpiryOption' for type CopyOnExpiryOption. Set to 'CustomCopyOption' for type CustomCopyOption. Set to 'ImmediateCopyOption' for type ImmediateCopyOption. 'CopyOnExpiryOption'
'CustomCopyOption'
'ImmediateCopyOption' (required)

CustomCopyOption

Name Description Value
duration Data copied after given timespan string
objectType Type of the specific object - used for deserializing 'CustomCopyOption' (required)

DataStoreInfoBase

Name Description Value
dataStoreType type of datastore; Operational/Vault/Archive 'ArchiveStore'
'OperationalStore'
'VaultStore' (required)
objectType Type of Datasource object, used to initialize the right inherited type string (required)

Day

Name Description Value
date Date of the month int
isLast Whether Date is last date of month bool

DeleteOption

Name Description Value
duration Duration of deletion after given timespan string (required)
objectType Set to 'AbsoluteDeleteOption' for type AbsoluteDeleteOption. 'AbsoluteDeleteOption' (required)

ImmediateCopyOption

Name Description Value
objectType Type of the specific object - used for deserializing 'ImmediateCopyOption' (required)

Microsoft.DataProtection/backupVaults/backupPolicies

Name Description Value
apiVersion The api version '2025-02-01'
name The resource name string (required)
properties BaseBackupPolicyResource properties BaseBackupPolicy
type The resource type 'Microsoft.DataProtection/backupVaults/backupPolicies'

RetentionTag

Name Description Value
tagName Retention Tag Name to relate it to retention rule. string (required)

ScheduleBasedBackupCriteria

Name Description Value
absoluteCriteria it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth"
and should be part of AbsoluteMarker enum
String array containing any of:
'AllBackup'
'FirstOfDay'
'FirstOfMonth'
'FirstOfWeek'
'FirstOfYear'
daysOfMonth This is day of the month from 1 to 28 other wise last of month Day[]
daysOfTheWeek It should be Sunday/Monday/T..../Saturday String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
monthsOfYear It should be January/February/....../December String array containing any of:
'April'
'August'
'December'
'February'
'January'
'July'
'June'
'March'
'May'
'November'
'October'
'September'
objectType Type of the specific object - used for deserializing 'ScheduleBasedBackupCriteria' (required)
scheduleTimes List of schedule times for backup string[]
weeksOfTheMonth It should be First/Second/Third/Fourth/Last String array containing any of:
'First'
'Fourth'
'Last'
'Second'
'Third'

ScheduleBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'ScheduleBasedTriggerContext' (required)
schedule Schedule for this backup BackupSchedule (required)
taggingCriteria List of tags that can be applicable for given schedule. TaggingCriteria[] (required)

SourceLifeCycle

Name Description Value
deleteAfter Delete Option DeleteOption (required)
sourceDataStore DataStoreInfo base DataStoreInfoBase (required)
targetDataStoreCopySettings TargetCopySetting[]

TaggingCriteria

Name Description Value
criteria Criteria which decides whether the tag can be applied to a triggered backup. BackupCriteria[]
isDefault Specifies if tag is default. bool (required)
taggingPriority Retention Tag priority. int (required)
tagInfo Retention tag information RetentionTag (required)

TargetCopySetting

Name Description Value
copyAfter It can be CustomCopyOption or ImmediateCopyOption. CopyOption (required)
dataStore Info of target datastore DataStoreInfoBase (required)

TriggerContext

Name Description Value
objectType Set to 'AdhocBasedTriggerContext' for type AdhocBasedTriggerContext. Set to 'ScheduleBasedTriggerContext' for type ScheduleBasedTriggerContext. 'AdhocBasedTriggerContext'
'ScheduleBasedTriggerContext' (required)

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create Disk & enable protection via Backup Vault

Deploy to Azure
Template that creates a disk and enables protection via Backup Vault
Create MySqlFlex server & enable protection via Backup Vault

Deploy to Azure
Template that creates a MySQL Flexible Server and enables protection via Backup Vault
Create PgFlex server & enable protection via Backup Vault

Deploy to Azure
Template that creates a PostgreSQL Flexible Server and enables protection via Backup Vault
Create Storage Account & enable protection via Backup Vault

Deploy to Azure
Template that creates storage account and enable operational and vaulted backup via Backup Vault

Terraform (AzAPI provider) resource definition

The backupVaults/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.DataProtection/backupVaults/backupPolicies resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DataProtection/backupVaults/backupPolicies@2025-02-01"
  name = "string"
  body = {
    properties = {
      datasourceTypes = [
        "string"
      ]
      objectType = "string"
      // For remaining properties, see BaseBackupPolicy objects
    }
  }
}

DeleteOption objects

Set the objectType property to specify the type of object.

For AbsoluteDeleteOption, use:

{
  objectType = "AbsoluteDeleteOption"
}

BackupParameters objects

Set the objectType property to specify the type of object.

For AzureBackupParams, use:

{
  backupType = "string"
  objectType = "AzureBackupParams"
}

CopyOption objects

Set the objectType property to specify the type of object.

For CopyOnExpiryOption, use:

{
  objectType = "CopyOnExpiryOption"
}

For CustomCopyOption, use:

{
  duration = "string"
  objectType = "CustomCopyOption"
}

For ImmediateCopyOption, use:

{
  objectType = "ImmediateCopyOption"
}

BasePolicyRule objects

Set the objectType property to specify the type of object.

For AzureBackupRule, use:

{
  backupParameters = {
    objectType = "string"
    // For remaining properties, see BackupParameters objects
  }
  dataStore = {
    dataStoreType = "string"
    objectType = "string"
  }
  objectType = "AzureBackupRule"
  trigger = {
    objectType = "string"
    // For remaining properties, see TriggerContext objects
  }
}

For AzureRetentionRule, use:

{
  isDefault = bool
  lifecycles = [
    {
      deleteAfter = {
        duration = "string"
        objectType = "string"
        // For remaining properties, see DeleteOption objects
      }
      sourceDataStore = {
        dataStoreType = "string"
        objectType = "string"
      }
      targetDataStoreCopySettings = [
        {
          copyAfter = {
            objectType = "string"
            // For remaining properties, see CopyOption objects
          }
          dataStore = {
            dataStoreType = "string"
            objectType = "string"
          }
        }
      ]
    }
  ]
  objectType = "AzureRetentionRule"
}

TriggerContext objects

Set the objectType property to specify the type of object.

For AdhocBasedTriggerContext, use:

{
  objectType = "AdhocBasedTriggerContext"
  taggingCriteria = {
    tagInfo = {
      tagName = "string"
    }
  }
}

For ScheduleBasedTriggerContext, use:

{
  objectType = "ScheduleBasedTriggerContext"
  schedule = {
    repeatingTimeIntervals = [
      "string"
    ]
    timeZone = "string"
  }
  taggingCriteria = [
    {
      criteria = [
        {
          objectType = "string"
          // For remaining properties, see BackupCriteria objects
        }
      ]
      isDefault = bool
      taggingPriority = int
      tagInfo = {
        tagName = "string"
      }
    }
  ]
}

BaseBackupPolicy objects

Set the objectType property to specify the type of object.

For BackupPolicy, use:

{
  objectType = "BackupPolicy"
  policyRules = [
    {
      name = "string"
      objectType = "string"
      // For remaining properties, see BasePolicyRule objects
    }
  ]
}

BackupCriteria objects

Set the objectType property to specify the type of object.

For ScheduleBasedBackupCriteria, use:

{
  absoluteCriteria = [
    "string"
  ]
  daysOfMonth = [
    {
      date = int
      isLast = bool
    }
  ]
  daysOfTheWeek = [
    "string"
  ]
  monthsOfYear = [
    "string"
  ]
  objectType = "ScheduleBasedBackupCriteria"
  scheduleTimes = [
    "string"
  ]
  weeksOfTheMonth = [
    "string"
  ]
}

Property Values

AbsoluteDeleteOption

Name Description Value
objectType Type of the specific object - used for deserializing 'AbsoluteDeleteOption' (required)

AdhocBasedTaggingCriteria

Name Description Value
tagInfo Retention tag information RetentionTag

AdhocBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'AdhocBasedTriggerContext' (required)
taggingCriteria Tagging Criteria containing retention tag for adhoc backup. AdhocBasedTaggingCriteria (required)

AzureBackupParams

Name Description Value
backupType BackupType ; Full/Incremental etc string (required)
objectType Type of the specific object - used for deserializing 'AzureBackupParams' (required)

AzureBackupRule

Name Description Value
backupParameters BackupParameters base BackupParameters
dataStore DataStoreInfo base DataStoreInfoBase (required)
objectType 'AzureBackupRule' (required)
trigger Trigger context TriggerContext (required)

AzureRetentionRule

Name Description Value
isDefault bool
lifecycles SourceLifeCycle[] (required)
objectType 'AzureRetentionRule' (required)

BackupCriteria

Name Description Value
objectType Set to 'ScheduleBasedBackupCriteria' for type ScheduleBasedBackupCriteria. 'ScheduleBasedBackupCriteria' (required)

BackupParameters

Name Description Value
objectType Set to 'AzureBackupParams' for type AzureBackupParams. 'AzureBackupParams' (required)

BackupPolicy

Name Description Value
objectType 'BackupPolicy' (required)
policyRules Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc BasePolicyRule[] (required)

BackupSchedule

Name Description Value
repeatingTimeIntervals ISO 8601 repeating time interval format string[] (required)
timeZone Time zone for a schedule. Example: Pacific Standard Time string

BaseBackupPolicy

Name Description Value
datasourceTypes Type of datasource for the backup management string[] (required)
objectType Set to 'BackupPolicy' for type BackupPolicy. 'BackupPolicy' (required)

BasePolicyRule

Name Description Value
name string (required)
objectType Set to 'AzureBackupRule' for type AzureBackupRule. Set to 'AzureRetentionRule' for type AzureRetentionRule. 'AzureBackupRule'
'AzureRetentionRule' (required)

CopyOnExpiryOption

Name Description Value
objectType Type of the specific object - used for deserializing 'CopyOnExpiryOption' (required)

CopyOption

Name Description Value
objectType Set to 'CopyOnExpiryOption' for type CopyOnExpiryOption. Set to 'CustomCopyOption' for type CustomCopyOption. Set to 'ImmediateCopyOption' for type ImmediateCopyOption. 'CopyOnExpiryOption'
'CustomCopyOption'
'ImmediateCopyOption' (required)

CustomCopyOption

Name Description Value
duration Data copied after given timespan string
objectType Type of the specific object - used for deserializing 'CustomCopyOption' (required)

DataStoreInfoBase

Name Description Value
dataStoreType type of datastore; Operational/Vault/Archive 'ArchiveStore'
'OperationalStore'
'VaultStore' (required)
objectType Type of Datasource object, used to initialize the right inherited type string (required)

Day

Name Description Value
date Date of the month int
isLast Whether Date is last date of month bool

DeleteOption

Name Description Value
duration Duration of deletion after given timespan string (required)
objectType Set to 'AbsoluteDeleteOption' for type AbsoluteDeleteOption. 'AbsoluteDeleteOption' (required)

ImmediateCopyOption

Name Description Value
objectType Type of the specific object - used for deserializing 'ImmediateCopyOption' (required)

Microsoft.DataProtection/backupVaults/backupPolicies

Name Description Value
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: backupVaults
properties BaseBackupPolicyResource properties BaseBackupPolicy
type The resource type "Microsoft.DataProtection/backupVaults/backupPolicies@2025-02-01"

RetentionTag

Name Description Value
tagName Retention Tag Name to relate it to retention rule. string (required)

ScheduleBasedBackupCriteria

Name Description Value
absoluteCriteria it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth"
and should be part of AbsoluteMarker enum
String array containing any of:
'AllBackup'
'FirstOfDay'
'FirstOfMonth'
'FirstOfWeek'
'FirstOfYear'
daysOfMonth This is day of the month from 1 to 28 other wise last of month Day[]
daysOfTheWeek It should be Sunday/Monday/T..../Saturday String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
monthsOfYear It should be January/February/....../December String array containing any of:
'April'
'August'
'December'
'February'
'January'
'July'
'June'
'March'
'May'
'November'
'October'
'September'
objectType Type of the specific object - used for deserializing 'ScheduleBasedBackupCriteria' (required)
scheduleTimes List of schedule times for backup string[]
weeksOfTheMonth It should be First/Second/Third/Fourth/Last String array containing any of:
'First'
'Fourth'
'Last'
'Second'
'Third'

ScheduleBasedTriggerContext

Name Description Value
objectType Type of the specific object - used for deserializing 'ScheduleBasedTriggerContext' (required)
schedule Schedule for this backup BackupSchedule (required)
taggingCriteria List of tags that can be applicable for given schedule. TaggingCriteria[] (required)

SourceLifeCycle

Name Description Value
deleteAfter Delete Option DeleteOption (required)
sourceDataStore DataStoreInfo base DataStoreInfoBase (required)
targetDataStoreCopySettings TargetCopySetting[]

TaggingCriteria

Name Description Value
criteria Criteria which decides whether the tag can be applied to a triggered backup. BackupCriteria[]
isDefault Specifies if tag is default. bool (required)
taggingPriority Retention Tag priority. int (required)
tagInfo Retention tag information RetentionTag (required)

TargetCopySetting

Name Description Value
copyAfter It can be CustomCopyOption or ImmediateCopyOption. CopyOption (required)
dataStore Info of target datastore DataStoreInfoBase (required)

TriggerContext

Name Description Value
objectType Set to 'AdhocBasedTriggerContext' for type AdhocBasedTriggerContext. Set to 'ScheduleBasedTriggerContext' for type ScheduleBasedTriggerContext. 'AdhocBasedTriggerContext'
'ScheduleBasedTriggerContext' (required)