diff --git a/schemas/2016-06-01/Microsoft.RecoveryServices.json b/schemas/2016-06-01/Microsoft.RecoveryServices.json index 0a4b974e6f..0872e7de0a 100644 --- a/schemas/2016-06-01/Microsoft.RecoveryServices.json +++ b/schemas/2016-06-01/Microsoft.RecoveryServices.json @@ -2,46 +2,43 @@ "id": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.RecoveryServices.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.RecoveryServices", - "description": "Microsoft Recovery Services Resource Types", + "description": "Microsoft RecoveryServices Resource Types", "resourceDefinitions": { - "vaults": { + "vaults_backupFabrics_protectionContainers_protectedItems": { "type": "object", "properties": { - "type": { + "apiVersion": { "type": "string", "enum": [ - "Microsoft.RecoveryServices/vaults" + "2016-06-01" ] }, - "apiVersion": { + "eTag": { "type": "string", - "enum": [ - "2018-01-10", - "2017-07-01", - "2016-06-01", - "2016-05-01", - "2015-12-15", - "2015-11-10", - "2015-08-15", - "2015-08-10", - "2015-06-10", - "2015-03-15" - ] + "description": "Optional ETag." + }, + "id": { + "type": "string", + "description": "Resource ID represents the complete path to the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the backup item." }, - "sku": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/ProtectedItem" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Required. Gets or sets the sku type." - }, - "location": { - "type": "string", - "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update the request will succeed." + "description": "The base class for backup items." }, "tags": { "oneOf": [ @@ -49,175 +46,408 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + }, + "vaults_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "id": { + "type": "string", + "description": "Resource ID represents the complete path to the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The backup policy to be created." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/RecoveryServicesPropertiesCreateParameters" + "$ref": "#/definitions/ProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base class for a backup policy. Workload-specific backup policies are derived from this class." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupPolicies" ] } }, "required": [ - "type", "apiVersion", - "sku", - "location", - "properties" + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "definitions": { + "AzureIaaSClassicComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" ], - "description": "Microsoft.RecoveryServices/vaults" + "description": "IaaS VM workload-specific backup item representing the classic VM." }, - "vaults_certificates": { + "AzureIaaSComputeVMProtectedItem": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { + "protectedItemType": { "type": "string", "enum": [ - "Microsoft.RecoveryServices/vaults/certificates" + "Microsoft.Compute/virtualMachines" ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Resource Manager VM." + }, + "AzureIaaSVMProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSComputeVMProtectedItem" }, - "apiVersion": { + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information for the Azure VM (also known as IaaS VM)-specific backup item." + }, + "friendlyName": { + "type": "string", + "description": "The friendly name of the VM represented by this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "The last backup operation status. The possible values are: Healthy or Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the last backup operation for this backup item." + }, + "protectedItemType": { "type": "string", "enum": [ - "2016-06-01" + "AzureIaaSVMProtectedItem" ] }, - "properties": { + "protectionState": { "oneOf": [ { - "$ref": "#/definitions/RawCertificateData" + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "The backup status of this backup item." + }, + "virtualMachineId": { + "type": "string", + "description": "The fully qualified Resource Manager ID of the virtual machine represented by this item." } }, "required": [ - "name", - "type", - "apiVersion", - "properties" + "protectedItemType" ], - "description": "Microsoft.RecoveryServices/vaults/certificates" + "description": "This Azure VM workload-specific (also known as IaaS VM workload-specific) backup item has been backed up." }, - "vaults_extendedInformation": { + "AzureIaaSVMProtectedItemExtendedInfo": { "type": "object", "properties": { - "type": { + "oldestRecoveryPoint": { "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/extendedInformation" - ] + "format": "date-time", + "description": "The oldest backup copy available for this backup item." }, - "apiVersion": { + "policyInconsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if the backup policy associated with the backup item is inconsistent." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of backup copies available for this backup item." + } + }, + "description": "Additional information for the Azure VM (also known as IaaS VM)-specific backup item." + }, + "AzureIaaSVMProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { "type": "string", "enum": [ - "2016-06-01" + "AzureIaasVM" ] }, - "eTag": { - "type": "string", - "description": "Optional ETag." + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base class for retention policy." }, - "properties": { + "schedulePolicy": { "oneOf": [ { - "$ref": "#/definitions/VaultExtendedInfo" + "$ref": "#/definitions/SchedulePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The base class for backup schedules." } }, "required": [ - "type", - "apiVersion", - "properties" + "backupManagementType" ], - "description": "Microsoft.RecoveryServices/vaults/extendedInformation" - } - }, - "definitions": { - "Sku": { + "description": "Azure VM (also known as IaaS VM) workload-specific backup policy." + }, + "AzureSqlProtectedItem": { "type": "object", "properties": { - "name": { + "extendedInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "RS0" - ] + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Gets or sets the sku name. Required for vault creation, optional for update. Possible values include: 'RS0'" + "description": "Additional information for the Azure SQL specific backup item." + }, + "protectedItemDataId": { + "type": "string", + "description": "The internal ID of a backup item. The internal ID is used by the Azure SQL Backup engine to contact Recovery Services." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] }, - "tier": { + "protectionState": { "oneOf": [ { "type": "string", "enum": [ - "Standard" + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Gets or sets the sku tier. Required for vault creation, optional for update. Possible values include: 'Standard'" + "description": "The backup state of the backup item." } }, "required": [ - "name", - "tier" + "protectedItemType" + ], + "description": "This is an Azure SQL workload-specific backup item." + }, + "AzureSqlProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "The state of the backup policy associated with this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of available backup copies for this backup item." + } + }, + "description": "Additional information for the Azure SQL specific backup item." + }, + "AzureSqlProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureSql" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base class for retention policy." + } + }, + "required": [ + "backupManagementType" ], - "description": "The SKU of the recovery services vault." + "description": " The Azure SQL workload-specific backup policy." }, - "RecoveryServicesPropertiesCreateParameters": { + "DailyRetentionFormat": { "type": "object", "properties": { - } + "daysOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the month." + } + }, + "description": "Daily retention format." }, - "RawCertificateData": { + "DailyRetentionSchedule": { "type": "object", "properties": { - "authType": { + "retentionDuration": { "oneOf": [ { - "type": "string", - "enum": [ - "Invalid", - "ACS", - "AAD", - "AccessControlService", - "AzureActiveDirectory" - ] + "$ref": "#/definitions/RetentionDuration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the authentication type." + "description": "Retention duration." }, - "certificate": { + "retentionTimes": { "oneOf": [ { "type": "array", @@ -229,32 +459,761 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The base64 encoded certificate raw data string" + "description": "The retention times of retention policy." } }, - "description": "Raw certificate data." + "description": "Daily retention schedule." }, - "VaultExtendedInfo": { + "Day": { "type": "object", "properties": { - "integrityKey": { - "type": "string", - "description": "Integrity key." + "date": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "encryptionKey": { - "type": "string", - "description": "Encryption key." + "isLast": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Day of the week." + }, + "LongTermRetentionPolicy": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention schedule." }, - "encryptionKeyThumbprint": { + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The monthly retention schedule." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "LongTermRetentionPolicy" + ] + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention schedule." + }, + "yearlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/YearlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly retention schedule." + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Long-term retention policy." + }, + "LongTermSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "LongTermSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Long-term policy schedule." + }, + "MabFileFolderProtectedItem": { + "type": "object", + "properties": { + "computerName": { + "type": "string", + "description": "The name of the computer associated with this backup item." + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information for the backup item." + }, + "friendlyName": { + "type": "string", + "description": "The friendly name of this backup item." + }, + "isScheduledForDeferredDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "lastBackupStatus": { + "type": "string", + "description": "The status of last backup operation." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "MabFileFolderProtectedItem" + ] + }, + "protectionState": { + "type": "string", + "description": "The states for this property are: Protected, ProtectionStopped, IRPending, or ProtectionError." + } + }, + "required": [ + "protectedItemType" + ], + "description": "This is a file or folder workload-specific backup item." + }, + "MabFileFolderProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "The last day and time the agent synced with the service." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of backup copies associated with the backup item." + } + }, + "description": "Additional information for the backup item." + }, + "MabProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "MAB" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base class for backup schedules." + } + }, + "required": [ + "backupManagementType" + ], + "description": "The backup policy for the file or folder container." + }, + "MonthlyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format type for monthly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of the retention policy." + } + }, + "description": "The monthly retention schedule." + }, + "ProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + }, + { + "$ref": "#/definitions/MabFileFolderProtectedItem" + }, + { + "$ref": "#/definitions/AzureSqlProtectedItem" + } + ], + "properties": { + "backupManagementType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The backup management type associated with the backup item." + }, + "lastRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the most recent backup copy was created for this backup item." + }, + "policyId": { "type": "string", - "description": "Encryption key thumbprint." + "description": "The ID of the backup policy associated with this backup item." }, - "algorithm": { + "sourceResourceId": { "type": "string", - "description": "Algorithm for Vault ExtendedInfo" + "description": "The ID of the resource to be backed up." + }, + "workloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "DPMUnknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload type for this item." + } + }, + "description": "The base class for backup items." + }, + "ProtectionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectionPolicy" + }, + { + "$ref": "#/definitions/MabProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureSqlProtectionPolicy" + } + ], + "properties": { + "protectedItemsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of items associated with this policy." + } + }, + "description": "The base class for a backup policy. Workload-specific backup policies are derived from this class." + }, + "RetentionDuration": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Count of the duration types. Retention duration is determined by the combining the Count times and durationType. \r\n For example, if Count = 3 and durationType = Weeks, then the retention duration is three weeks." + }, + "durationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The retention duration type of the retention policy." + } + }, + "description": "Retention duration." + }, + "RetentionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SimpleRetentionPolicy" + }, + { + "$ref": "#/definitions/LongTermRetentionPolicy" + } + ], + "properties": {}, + "description": "The base class for retention policy." + }, + "SchedulePolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LongTermSchedulePolicy" + }, + { + "$ref": "#/definitions/SimpleSchedulePolicy" + } + ], + "properties": {}, + "description": "The base class for backup schedules." + }, + "SimpleRetentionPolicy": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "SimpleRetentionPolicy" + ] + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Simple policy retention." + }, + "SimpleSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "SimpleSchedulePolicy" + ] + }, + "scheduleRunDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This list is the days of the week when the schedule runs." + }, + "scheduleRunFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the frequency interval (daily or weekly) for the schedule policy." + }, + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times, during a day, when the schedule runs." + }, + "scheduleWeeklyFrequency": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of times per week the schedule runs." + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Simple policy schedule." + }, + "WeeklyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the week." + }, + "weeksOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of weeks of the month." + } + }, + "description": "Weekly retention format." + }, + "WeeklyRetentionSchedule": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the days of the week for the weekly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of the retention policy." + } + }, + "description": "Weekly retention schedule." + }, + "YearlyRetentionSchedule": { + "type": "object", + "properties": { + "monthsOfYear": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the months of year for the yearly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format for the yearly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times for the retention policy." } }, - "description": "Vault extended information." + "description": "Yearly retention schedule." } } } diff --git a/schemas/2016-12-01/Microsoft.RecoveryServices.json b/schemas/2016-12-01/Microsoft.RecoveryServices.json index c7007db63f..3ccdffe86d 100644 --- a/schemas/2016-12-01/Microsoft.RecoveryServices.json +++ b/schemas/2016-12-01/Microsoft.RecoveryServices.json @@ -7,42 +7,23 @@ "vaults_backupFabrics_protectionContainers": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-12-01" ] }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "location": { "type": "string", "description": "Resource location." }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "eTag": { + "name": { "type": "string", - "description": "Optional ETag." + "description": "Name of the container to be registered." }, "properties": { "oneOf": [ @@ -53,48 +34,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "ProtectionContainerResource properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/vaults_backupFabrics_protectionContainers_protectedItems_childResource" - } - ] - } - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" - }, - "vaults_backupFabrics_protectionContainers_protectedItems": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2016-12-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class." }, "tags": { "oneOf": [ @@ -102,7 +42,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -110,108 +51,59 @@ ], "description": "Resource tags." }, - "eTag": { + "type": { "type": "string", - "description": "Optional ETag." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ProtectedItem" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "ProtectedItemResource properties" + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" }, - "vaults_backupPolicies": { + "vaults_backupstorageconfig": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/backupPolicies" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-12-01" ] }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "location": { "type": "string", "description": "Resource location." }, - "tags": { + "name": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "type": "string", + "pattern": "^.*/vaultstorageconfig$" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." - }, - "eTag": { - "type": "string", - "description": "Optional ETag." + ] }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/BackupResourceConfig" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "ProtectionPolicyResource properties" - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.RecoveryServices/vaults/backupPolicies" - }, - "vaults_backupstorageconfig": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/backupstorageconfig" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2016-12-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." + "description": "The resource storage details." }, "tags": { "oneOf": [ @@ -219,7 +111,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -227,26 +120,18 @@ ], "description": "Resource tags." }, - "eTag": { + "type": { "type": "string", - "description": "Optional ETag." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/BackupResourceConfig" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "BackupResourceConfigResource properties" + "enum": [ + "Microsoft.RecoveryServices/vaults/backupstorageconfig" + ] } }, "required": [ - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/backupstorageconfig" } @@ -254,28 +139,12 @@ "definitions": { "AzureBackupServerContainer": { "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureBackupServerContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { "containerType": { - "type": "string" + "type": "string", + "enum": [ + "AzureBackupServerContainer" + ] } }, "required": [ @@ -283,110 +152,76 @@ ], "description": "AzureBackupServer (DPMVenus) workload-specific protection container." }, - "AzureFileshareProtectedItem": { + "AzureIaaSClassicComputeVMContainer": { "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureFileShareProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "properties": { + "containerType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] } + }, + "required": [ + "containerType" ], + "description": "IaaS VM workload-specific backup item representing a classic virtual machine." + }, + "AzureIaaSComputeVMContainer": { + "type": "object", "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the fileshare represented by this backup item." - }, - "protectionStatus": { + "containerType": { "type": "string", - "description": "Backup status of this backup item." - }, - "protectionState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup state of this backup item." - }, - "healthStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "backups running status for this backup item." - }, - "lastBackupStatus": { + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + } + }, + "required": [ + "containerType" + ], + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine." + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "type": "object", + "properties": { + "containerType": { "type": "string", - "description": "Last backup operation status. Possible values: Healthy, Unhealthy." - }, - "lastBackupTime": { + "enum": [ + "SQLAGWorkLoadContainer" + ] + } + }, + "required": [ + "containerType" + ], + "description": "Container for SQL workloads under SQL Availability Group." + }, + "AzureSqlContainer": { + "type": "object", + "properties": { + "containerType": { "type": "string", - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information with this backup item." - }, - "protectedItemType": { - "type": "string" + "enum": [ + "AzureSqlContainer" + ] } }, "required": [ - "protectedItemType" + "containerType" ], - "description": "Azure File Share workload-specific backup item." + "description": "Azure Sql workload-specific container." }, - "AzureFileshareProtectedItemExtendedInfo": { + "AzureStorageContainer": { "type": "object", "properties": { - "oldestRecoveryPoint": { + "containerType": { "type": "string", - "format": "date-time", - "description": "The oldest backup copy available for this item in the service." + "enum": [ + "StorageContainer" + ] }, - "recoveryPointCount": { + "protectedItemCount": { "oneOf": [ { "type": "integer" @@ -395,3746 +230,338 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Number of available backup copies associated with this backup item." + "description": "Number of items backed up in this container." }, - "policyState": { + "resourceGroup": { "type": "string", - "description": "Indicates consistency of policy object and policy applied to this backup item." - } - }, - "description": "Additional information about Azure File Share backup item." - }, - "AzureFileShareProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureStorage" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "workLoadType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of workload for the backup management." - }, - "schedulePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention policy with the details on backup copy retention ranges." + "description": "Resource group name of Recovery Services Vault." }, - "timeZone": { + "sourceResourceId": { "type": "string", - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + "description": "Fully qualified ARM url." }, - "backupManagementType": { - "type": "string" + "storageAccountVersion": { + "type": "string", + "description": "Storage account version." } }, "required": [ - "backupManagementType" + "containerType" ], - "description": "AzureStorage backup policy." + "description": "Azure Storage Account workload-specific container." }, - "AzureIaaSClassicComputeVMContainer": { + "AzureVMAppContainerProtectionContainer": { "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.ClassicCompute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { "containerType": { - "type": "string" + "type": "string", + "enum": [ + "VMAppContainer" + ] } }, "required": [ "containerType" ], - "description": "IaaS VM workload-specific backup item representing a classic virtual machine." + "description": "Container for SQL workloads under Azure Virtual Machines." }, - "AzureIaaSClassicComputeVMProtectedItem": { + "AzureWorkloadContainer": { "type": "object", "oneOf": [ { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.ClassicCompute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM." - }, - "AzureIaaSComputeVMContainer": { - "type": "object", - "oneOf": [ + "$ref": "#/definitions/AzureSQLAGWorkloadContainerProtectionContainer" + }, { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureVMAppContainerProtectionContainer" } ], "properties": { "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine." - }, - "AzureIaaSComputeVMProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM." - }, - "AzureIaaSVMHealthDetails": { - "type": "object", - "properties": { - "code": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health Code" - }, - "title": { - "type": "string", - "description": "Health Title" - }, - "message": { "type": "string", - "description": "Health Message" + "enum": [ + "AzureWorkloadContainer" + ] }, - "recommendations": { + "extendedInfo": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Health Recommended Actions" - } - }, - "description": "Azure IaaS VM workload-specific Health Details." - }, - "AzureIaaSVMProtectedItem": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSClassicComputeVMProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.ClassicCompute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSComputeVMProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureIaaSVMProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the VM represented by this backup item." + "description": "Extended information of the container." }, - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM ID of the virtual machine represented by this item." - }, - "protectionStatus": { + "lastUpdatedTime": { "type": "string", - "description": "Backup status of this backup item." + "format": "date-time", + "description": "Time stamp when this container was updated." }, - "protectionState": { + "operationType": { "oneOf": [ { "type": "string", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Register", + "Reregister" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Backup state of this backup item." + "description": "Re-Do Operation." }, - "healthStatus": { + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the virtual machine represented by this Azure Workload Container" + }, + "workloadType": { "oneOf": [ { "type": "string", "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Health status of protected item." - }, - "healthDetails": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health details on this backup item." - }, - "lastBackupStatus": { - "type": "string", - "description": "Last backup operation status." - }, - "lastBackupTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item." - }, - "protectedItemDataId": { - "type": "string", - "description": "Data ID of the protected item." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information for this backup item." - }, - "protectedItemType": { - "type": "string" + "description": "Workload type for which registration was sent." } }, "required": [ - "protectedItemType" + "containerType" ], - "description": "IaaS VM workload-specific backup item." + "description": "Container for the workloads running inside Azure Compute or Classic Compute." }, - "AzureIaaSVMProtectedItemExtendedInfo": { + "AzureWorkloadContainerExtendedInfo": { "type": "object", "properties": { - "oldestRecoveryPoint": { + "hostServerName": { "type": "string", - "format": "date-time", - "description": "The oldest backup copy available for this backup item." + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container." }, - "recoveryPointCount": { + "inquiryInfo": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/InquiryInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Number of backup copies available for this backup item." + "description": "Details about inquired protectable items under a given container." }, - "policyInconsistent": { + "nodesList": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies if backup policy associated with the backup item is inconsistent." + "description": "List of the nodes in case of distributed container." } }, - "description": "Additional information on Azure IaaS VM specific backup item." + "description": "Extended information of the container." }, - "AzureIaaSVMProtectionPolicy": { + "BackupResourceConfig": { "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureIaasVM" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { - "schedulePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention policy with the details on backup copy retention ranges." - }, - "instantRpRetentionRangeInDays": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Instant RP retention policy range in days" - }, - "timeZone": { - "type": "string", - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." - }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "IaaS VM workload-specific backup policy." - }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SQLAGWorkLoadContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Container for SQL workloads under SQL Availability Group." - }, - "AzureSqlContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureSqlContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Azure Sql workload-specific container." - }, - "AzureSqlProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Sql/servers/databases" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemDataId": { - "type": "string", - "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services." - }, - "protectionState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup state of the backed up item." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information for this backup item." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Azure SQL workload-specific backup item." - }, - "AzureSqlProtectedItemExtendedInfo": { - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "The oldest backup copy available for this item in the service." - }, - "recoveryPointCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of available backup copies associated with this backup item." - }, - "policyState": { - "type": "string", - "description": "State of the backup policy associated with this backup item." - } - }, - "description": "Additional information on Azure Sql specific protected item." - }, - "AzureSqlProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureSql" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "retentionPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention policy details." - }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "Azure SQL workload-specific backup policy." - }, - "AzureStorageContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "StorageContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM url." - }, - "storageAccountVersion": { - "type": "string", - "description": "Storage account version." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - }, - "protectedItemCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of items backed up in this container." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Azure Storage Account workload-specific container." - }, - "AzureVMAppContainerProtectionContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMAppContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Container for SQL workloads under Azure Virtual Machines." - }, - "AzureVmWorkloadProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadSAPAseDatabaseProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadSAPHanaDatabaseProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSAPHanaDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadSQLDatabaseProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSQLDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the DB represented by this backup item." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "parentName": { - "type": "string", - "description": "Parent name of the DB such as Instance or Availability Group." - }, - "parentType": { - "type": "string", - "description": "Parent type of protected item, example: for a DB, standalone server or distributed" - }, - "protectionStatus": { - "type": "string", - "description": "Backup status of this backup item." - }, - "protectionState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup state of this backup item." - }, - "lastBackupStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "IRPending" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Last backup operation status. Possible values: Healthy, Unhealthy." - }, - "lastBackupTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item." - }, - "lastBackupErrorDetail": { - "oneOf": [ - { - "$ref": "#/definitions/ErrorDetail" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Error details in last backup" - }, - "protectedItemDataSourceId": { - "type": "string", - "description": "Data ID of the protected item." - }, - "protectedItemHealthStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health status of the backup item, evaluated based on last heartbeat received." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information for this backup item." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Azure VM workload-specific protected item." - }, - "AzureVmWorkloadProtectedItemExtendedInfo": { - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "The oldest backup copy available for this backup item." - }, - "recoveryPointCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of backup copies available for this backup item." - }, - "policyState": { - "type": "string", - "description": "Indicates consistency of policy object and policy applied to this backup item." - } - }, - "description": "Additional information on Azure Workload for SQL specific backup item." - }, - "AzureVmWorkloadProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkload" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "workLoadType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of workload for the backup management." - }, - "settings": { - "oneOf": [ - { - "$ref": "#/definitions/Settings" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Common settings for the backup management" - }, - "subProtectionPolicy": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of sub-protection policies which includes schedule and retention" - }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "Azure VM (Mercury) workload-specific backup policy." - }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Azure VM workload-specific protected item representing SAP ASE Database." - }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSAPHanaDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Azure VM workload-specific protected item representing SAP HANA Database." - }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadSQLDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Azure VM workload-specific protected item representing SQL Database." - }, - "AzureWorkloadContainer": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureSQLAGWorkloadContainerProtectionContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SQLAGWorkLoadContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVMAppContainerProtectionContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMAppContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "sourceResourceId": { - "type": "string", - "description": "ARM ID of the virtual machine represented by this Azure Workload Container" - }, - "lastUpdatedTime": { - "type": "string", - "format": "date-time", - "description": "Time stamp when this container was updated." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional details of a workload container." - }, - "workloadType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Workload type for which registration was sent." - }, - "operationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Register", - "Reregister" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Re-Do Operation." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Container for the workloads running inside Azure Compute or Classic Compute." - }, - "AzureWorkloadContainerExtendedInfo": { - "type": "object", - "properties": { - "hostServerName": { - "type": "string", - "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container." - }, - "inquiryInfo": { - "oneOf": [ - { - "$ref": "#/definitions/InquiryInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Inquiry Status for the container." - }, - "nodesList": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/DistributedNodesInfo" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of the nodes in case of distributed container." - } - }, - "description": "Extended information of the container." - }, - "BackupResourceConfig": { - "type": "object", - "properties": { - "storageModelType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Storage type." - }, - "storageType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Storage type." - }, - "storageTypeState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Locked", - "Unlocked" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." - } - }, - "description": "The resource storage details." - }, - "ContainerIdentityInfo": { - "type": "object", - "properties": { - "uniqueName": { - "type": "string", - "description": "Unique name of the container" - }, - "aadTenantId": { - "type": "string", - "description": "Protection container identity - AAD Tenant" - }, - "servicePrincipalClientId": { - "type": "string", - "description": "Protection container identity - AAD Service Principal" - }, - "audience": { - "type": "string", - "description": "Protection container identity - Audience" - } - }, - "description": "Container identity information" - }, - "DailyRetentionFormat": { - "type": "object", - "properties": { - "daysOfTheMonth": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/Day" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of days of the month." - } - }, - "description": "Daily retention format." - }, - "DailyRetentionSchedule": { - "type": "object", - "properties": { - "retentionTimes": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention times of retention policy." - }, - "retentionDuration": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionDuration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention duration of retention Policy." - } - }, - "description": "Daily retention schedule." - }, - "Day": { - "type": "object", - "properties": { - "date": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Date of the month" - }, - "isLast": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether Date is last date of month" - } - }, - "description": "Day of the week." - }, - "DistributedNodesInfo": { - "type": "object", - "properties": { - "nodeName": { - "type": "string", - "description": "Name of the node under a distributed container." - }, - "status": { - "type": "string", - "description": "Status of this Node.\r\nFailed | Succeeded" - }, - "errorDetail": { - "oneOf": [ - { - "$ref": "#/definitions/ErrorDetail" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Error Details if the Status is non-success." - } - }, - "description": "This is used to represent the various nodes of the distributed container." - }, - "DpmContainer": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureBackupServerContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureBackupServerContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DPMContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "canReRegister": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether the container is re-registrable." - }, - "containerId": { - "type": "string", - "description": "ID of container." - }, - "protectedItemCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of protected items in the BackupEngine" - }, - "dpmAgentVersion": { - "type": "string", - "description": "Backup engine Agent version" - }, - "dpmServers": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of BackupEngines protecting the container" - }, - "upgradeAvailable": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "To check if upgrade available" - }, - "protectionStatus": { - "type": "string", - "description": "Protection status of the container." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/DPMContainerExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Extended Info of the container." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "DPM workload-specific protection container." - }, - "DPMContainerExtendedInfo": { - "type": "object", - "properties": { - "lastRefreshedAt": { - "type": "string", - "format": "date-time", - "description": "Last refresh time of the DPMContainer." - } - }, - "description": "Additional information of the DPMContainer." - }, - "DPMProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DPMProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the managed item" - }, - "backupEngineName": { - "type": "string", - "description": "Backup Management server protecting this backup item" - }, - "protectionState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Protection state of the backupengine." - }, - "isScheduledForDeferredDelete": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "To check if backup item is scheduled for deferred delete" - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/DPMProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Extended info of the backup item." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Additional information on Backup engine specific backup item." - }, - "DPMProtectedItemExtendedInfo": { - "type": "object", - "properties": { - "protectableObjectLoadPath": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Attribute to provide information on various DBs." - }, - "protected": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "To check if backup item is disk protected." - }, - "isPresentOnCloud": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "To check if backup item is cloud protected." - }, - "lastBackupStatus": { - "type": "string", - "description": "Last backup status information on backup item." - }, - "lastRefreshedAt": { - "type": "string", - "format": "date-time", - "description": "Last refresh time on backup item." - }, - "oldestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "Oldest cloud recovery point time." - }, - "recoveryPointCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "cloud recovery point count." - }, - "onPremiseOldestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "Oldest disk recovery point time." - }, - "onPremiseLatestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "latest disk recovery point time." - }, - "onPremiseRecoveryPointCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "disk recovery point count." - }, - "isCollocated": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "To check if backup item is collocated." - }, - "protectionGroupName": { - "type": "string", - "description": "Protection group name of the backup item." - }, - "diskStorageUsedInBytes": { - "type": "string", - "description": "Used Disk storage in bytes." - }, - "totalDiskStorageSizeInBytes": { - "type": "string", - "description": "total Disk storage in bytes." - } - }, - "description": "Additional information of DPM Protected item." - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Error code." - }, - "message": { - "type": "string", - "description": "Error Message related to the Code." - }, - "recommendations": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of recommendation strings." - } - }, - "description": "Error Detail class which encapsulates Code, Message and Recommendations." - }, - "GenericContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "fabricName": { - "type": "string", - "description": "Name of the container's fabric" - }, - "extendedInformation": { - "oneOf": [ - { - "$ref": "#/definitions/GenericContainerExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Extended information (not returned in List container API calls)" - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Base class for generic container of backup items" - }, - "GenericContainerExtendedInfo": { - "type": "object", - "properties": { - "rawCertData": { - "type": "string", - "description": "Public key of container cert" - }, - "containerIdentityInfo": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerIdentityInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Container identity information" - }, - "serviceEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Azure Backup Service Endpoints for the container" - } - }, - "description": "Container extended information" - }, - "GenericProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the container." - }, - "policyState": { - "type": "string", - "description": "Indicates consistency of policy object and policy applied to this backup item." - }, - "protectionState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup state of this backup item." - }, - "protectedItemId": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Data Plane Service ID of the protected item." - }, - "sourceAssociations": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)" - }, - "fabricName": { - "type": "string", - "description": "Name of this backup item's fabric." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Base class for backup items." - }, - "GenericProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericProtectionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "subProtectionPolicy": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of sub-protection policies which includes schedule and retention" - }, - "timeZone": { - "type": "string", - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." - }, - "fabricName": { - "type": "string", - "description": "Name of this policy's fabric." - }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "Azure VM (Mercury) workload-specific backup policy." - }, - "IaaSVMContainer": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSClassicComputeVMContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.ClassicCompute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSComputeVMContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IaaSVMContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." - }, - "virtualMachineVersion": { - "type": "string", - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "IaaS VM workload-specific container." - }, - "InquiryInfo": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded" - }, - "errorDetail": { - "oneOf": [ - { - "$ref": "#/definitions/ErrorDetail" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Error Details if the Status is non-success." - }, - "inquiryDetails": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/WorkloadInquiryDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details." - } - }, - "description": "Details about inquired protectable items under a given container." - }, - "InquiryValidation": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Status for the Inquiry Validation." - }, - "errorDetail": { - "oneOf": [ - { - "$ref": "#/definitions/ErrorDetail" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Error Detail in case the status is non-success." - } - }, - "description": "Validation for inquired protectable items under a given container." - }, - "LogSchedulePolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LogSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "scheduleFrequencyInMins": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Frequency of the log schedule operation of this policy in minutes." - }, - "schedulePolicyType": { - "type": "string" - } - }, - "required": [ - "schedulePolicyType" - ], - "description": "Log policy schedule." - }, - "LongTermRetentionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "retentionPolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LongTermRetentionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "dailySchedule": { - "oneOf": [ - { - "$ref": "#/definitions/DailyRetentionSchedule" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Daily retention schedule of the protection policy." - }, - "weeklySchedule": { - "oneOf": [ - { - "$ref": "#/definitions/WeeklyRetentionSchedule" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Weekly retention schedule of the protection policy." - }, - "monthlySchedule": { - "oneOf": [ - { - "$ref": "#/definitions/MonthlyRetentionSchedule" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Monthly retention schedule of the protection policy." - }, - "yearlySchedule": { - "oneOf": [ - { - "$ref": "#/definitions/YearlyRetentionSchedule" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Yearly retention schedule of the protection policy." - }, - "retentionPolicyType": { - "type": "string" - } - }, - "required": [ - "retentionPolicyType" - ], - "description": "Long term retention policy." - }, - "LongTermSchedulePolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LongTermSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "schedulePolicyType": { - "type": "string" - } - }, - "required": [ - "schedulePolicyType" - ], - "description": "Long term policy schedule." - }, - "MabContainer": { - "type": "object", - "oneOf": [ - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Windows" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "canReRegister": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Can the container be registered one more time." - }, - "containerId": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "ContainerID represents the container." - }, - "protectedItemCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of items backed up in this container." - }, - "agentVersion": { - "type": "string", - "description": "Agent version of this container." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/MabContainerExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information for this container" - }, - "mabContainerHealthDetails": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MABContainerHealthDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health details on this mab container." - }, - "containerHealthState": { - "type": "string", - "description": "Health state of mab container." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Container with items backed up using MAB backup engine." - }, - "MabContainerExtendedInfo": { - "type": "object", - "properties": { - "lastRefreshedAt": { - "type": "string", - "format": "date-time", - "description": "Time stamp when this container was refreshed." - }, - "backupItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of backup items associated with this container." - }, - "backupItems": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of backup items associated with this container." - }, - "policyName": { - "type": "string", - "description": "Backup policy associated with this container." - }, - "lastBackupStatus": { - "type": "string", - "description": "Latest backup status of this container." - } - }, - "description": "Additional information of the container." - }, - "MABContainerHealthDetails": { - "type": "object", - "properties": { - "code": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health Code" - }, - "title": { - "type": "string", - "description": "Health Title" - }, - "message": { - "type": "string", - "description": "Health Message" - }, - "recommendations": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Health Recommended Actions" - } - }, - "description": "MAB workload-specific Health Details." - }, - "MabFileFolderProtectedItem": { - "type": "object", - "oneOf": [ - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "MabFileFolderProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of this backup item." - }, - "computerName": { - "type": "string", - "description": "Name of the computer associated with this backup item." - }, - "lastBackupStatus": { - "type": "string", - "description": "Status of last backup operation." - }, - "protectionState": { - "type": "string", - "description": "Protected, ProtectionStopped, IRPending or ProtectionError" - }, - "isScheduledForDeferredDelete": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies if the item is scheduled for deferred deletion." - }, - "deferredDeleteSyncTimeInUTC": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Sync time for deferred deletion." - }, - "extendedInfo": { - "oneOf": [ - { - "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Additional information with this backup item." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "MAB workload-specific backup item." - }, - "MabFileFolderProtectedItemExtendedInfo": { - "type": "object", - "properties": { - "lastRefreshedAt": { - "type": "string", - "format": "date-time", - "description": "Last time when the agent data synced to service." - }, - "oldestRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "The oldest backup copy available." - }, - "recoveryPointCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Number of backup copies associated with the backup item." - } - }, - "description": "Additional information on the backed up item." - }, - "MabProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "MAB" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "schedulePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Backup schedule of backup policy." - }, - "retentionPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention policy details." - }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "Mab container-specific backup policy." - }, - "MonthlyRetentionSchedule": { - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention schedule format type for monthly retention policy." - }, - "retentionScheduleDaily": { - "oneOf": [ - { - "$ref": "#/definitions/DailyRetentionFormat" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Daily retention format for monthly retention policy." - }, - "retentionScheduleWeekly": { - "oneOf": [ - { - "$ref": "#/definitions/WeeklyRetentionFormat" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Weekly retention format for monthly retention policy." - }, - "retentionTimes": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention times of retention policy." - }, - "retentionDuration": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionDuration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention duration of retention Policy." - } - }, - "description": "Monthly retention schedule." - }, - "ProtectedItem": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureFileshareProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureFileShareProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureIaaSVMProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureSqlProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Sql/servers/databases" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureVmWorkloadProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/DPMProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DPMProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/GenericProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/MabFileFolderProtectedItem" - } - ], - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "MabFileFolderProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "protectedItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ProtectedItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of backup management for the backed up item." - }, - "workloadType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of workload this item represents." - }, - "containerName": { - "type": "string", - "description": "Unique name of container" - }, - "sourceResourceId": { - "type": "string", - "description": "ARM ID of the resource to be backed up." - }, - "policyId": { - "type": "string", - "description": "ID of the backup policy with which this item is backed up." - }, - "lastRecoveryPoint": { - "type": "string", - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item." - }, - "backupSetName": { - "type": "string", - "description": "Name of the backup set the backup item belongs to" - }, - "createMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "Default", - "Recover" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source." - }, - "protectedItemType": { - "type": "string" - } - }, - "required": [ - "protectedItemType" - ], - "description": "Base class for backup items." - }, - "ProtectionContainer": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureSqlContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureSqlContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureStorageContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "StorageContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/DpmContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DPMContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/GenericContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IaaSVMContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/MabContainer" - } - ], - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Windows" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "containerType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ProtectionContainer" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the container." - }, - "backupManagementType": { + "storageModelType": { "oneOf": [ { "type": "string", "enum": [ "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of backup management for the container." - }, - "registrationStatus": { - "type": "string", - "description": "Status of registration of the container with the Recovery Services Vault." - }, - "healthStatus": { - "type": "string", - "description": "Status of health of the container." - }, - "containerType": { - "type": "string" - } - }, - "required": [ - "containerType" - ], - "description": "Base class for container with backup items. Containers with specific workloads are derived from this class." - }, - "ProtectionPolicy": { - "type": "object", - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/AzureFileShareProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureStorage" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureIaasVM" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureSqlProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureSql" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkload" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/GenericProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GenericProtectionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/MabProtectionPolicy" - } - ], - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "MAB" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "backupManagementType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ProtectionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "protectedItemsCount": { - "oneOf": [ - { - "type": "integer" + "GeoRedundant", + "LocallyRedundant" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Number of items associated with this policy." + "description": "Storage type." }, - "backupManagementType": { - "type": "string" - } - }, - "required": [ - "backupManagementType" - ], - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." - }, - "RetentionDuration": { - "type": "object", - "properties": { - "count": { + "storageType": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks." + "description": "Storage type." }, - "durationType": { + "storageTypeState": { "oneOf": [ { "type": "string", "enum": [ "Invalid", - "Days", - "Weeks", - "Months", - "Years" + "Locked", + "Unlocked" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention duration type of retention policy." + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." } }, - "description": "Retention duration." + "description": "The resource storage details." }, - "RetentionPolicy": { + "ContainerIdentityInfo": { "type": "object", - "oneOf": [ - { - "properties": { - "retentionPolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RetentionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "properties": { + "aadTenantId": { + "type": "string", + "description": "Protection container identity - AAD Tenant" }, - { - "allOf": [ - { - "$ref": "#/definitions/LongTermRetentionPolicy" - } - ], - "properties": { - "retentionPolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LongTermRetentionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "audience": { + "type": "string", + "description": "Protection container identity - Audience" }, - { - "allOf": [ + "servicePrincipalClientId": { + "type": "string", + "description": "Protection container identity - AAD Service Principal" + }, + "uniqueName": { + "type": "string", + "description": "Unique name of the container" + } + }, + "description": "Container identity information" + }, + "DistributedNodesInfo": { + "type": "object", + "properties": { + "errorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, { - "$ref": "#/definitions/SimpleRetentionPolicy" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "properties": { - "retentionPolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SimpleRetentionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "retentionPolicyType": { - "type": "string" + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "nodeName": { + "type": "string", + "description": "Name of the node under a distributed container." + }, + "status": { + "type": "string", + "description": "Status of this Node.\r\nFailed | Succeeded" } }, - "required": [ - "retentionPolicyType" - ], - "description": "Base class for retention policy." + "description": "This is used to represent the various nodes of the distributed container." }, - "SchedulePolicy": { + "DpmContainer": { "type": "object", "oneOf": [ { - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ + "$ref": "#/definitions/AzureBackupServerContainer" + } + ], + "properties": { + "canReRegister": { + "oneOf": [ + { + "type": "boolean" + }, { - "$ref": "#/definitions/LogSchedulePolicy" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LogSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "description": "Specifies whether the container is re-registrable." }, - { - "allOf": [ + "containerId": { + "type": "string", + "description": "ID of container." + }, + "containerType": { + "type": "string", + "enum": [ + "DPMContainer" + ] + }, + "dpmAgentVersion": { + "type": "string", + "description": "Backup engine Agent version" + }, + "dpmServers": { + "oneOf": [ { - "$ref": "#/definitions/LongTermSchedulePolicy" + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "LongTermSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "description": "List of BackupEngines protecting the container" }, - { - "allOf": [ + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DPMContainerExtendedInfo" + }, { - "$ref": "#/definitions/SimpleSchedulePolicy" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SimpleSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], - "properties": { - "schedulePolicyType": { - "type": "string" - } - }, - "required": [ - "schedulePolicyType" - ], - "description": "Base class for backup schedule." - }, - "Settings": { - "type": "object", - "properties": { - "timeZone": { - "type": "string", - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + "description": "Additional information of the DPMContainer." }, - "issqlcompression": { + "protectedItemCount": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "SQL compression flag" + "description": "Number of protected items in the BackupEngine" + }, + "protectionStatus": { + "type": "string", + "description": "Protection status of the container." }, - "isCompression": { + "upgradeAvailable": { "oneOf": [ { "type": "boolean" @@ -4143,332 +570,272 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag." + "description": "To check if upgrade available" } }, - "description": "Common settings field for backup management" + "required": [ + "containerType" + ], + "description": "DPM workload-specific protection container." }, - "SimpleRetentionPolicy": { + "DPMContainerExtendedInfo": { "type": "object", - "oneOf": [ - { - "properties": { - "retentionPolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SimpleRetentionPolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time of the DPMContainer." } - ], + }, + "description": "Additional information of the DPMContainer." + }, + "ErrorDetail": { + "type": "object", + "properties": {}, + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "GenericContainer": { + "type": "object", "properties": { - "retentionDuration": { + "containerType": { + "type": "string", + "enum": [ + "GenericContainer" + ] + }, + "extendedInformation": { "oneOf": [ { - "$ref": "#/definitions/RetentionDuration" + "$ref": "#/definitions/GenericContainerExtendedInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention duration of the protection policy." + "description": "Container extended information" }, - "retentionPolicyType": { - "type": "string" + "fabricName": { + "type": "string", + "description": "Name of the container's fabric" } }, "required": [ - "retentionPolicyType" + "containerType" ], - "description": "Simple policy retention." + "description": "Base class for generic container of backup items" }, - "SimpleSchedulePolicy": { + "GenericContainerExtendedInfo": { "type": "object", - "oneOf": [ - { - "properties": { - "schedulePolicyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SimpleSchedulePolicy" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { - "scheduleRunFrequency": { + "containerIdentityInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ] + "$ref": "#/definitions/ContainerIdentityInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Frequency of the schedule operation of this policy." + "description": "Container identity information" }, - "scheduleRunDays": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of days of week this schedule has to be run." + "rawCertData": { + "type": "string", + "description": "Public key of container cert" }, - "scheduleRunTimes": { + "serviceEndpoints": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of times of day this schedule has to be run." + "description": "Azure Backup Service Endpoints for the container" + } + }, + "description": "Container extended information" + }, + "IaaSVMContainer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMContainer" }, - "scheduleWeeklyFrequency": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "At every number weeks this schedule has to be run." + { + "$ref": "#/definitions/AzureIaaSComputeVMContainer" + } + ], + "properties": { + "containerType": { + "type": "string", + "enum": [ + "IaaSVMContainer" + ] + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." }, - "schedulePolicyType": { - "type": "string" + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." } }, "required": [ - "schedulePolicyType" + "containerType" ], - "description": "Simple policy schedule." + "description": "IaaS VM workload-specific container." }, - "SubProtectionPolicy": { + "InquiryInfo": { "type": "object", "properties": { - "policyType": { + "errorDetail": { "oneOf": [ { - "type": "string", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull" - ] + "$ref": "#/definitions/ErrorDetail" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Type of backup policy type." + "description": "Error Detail class which encapsulates Code, Message and Recommendations." }, - "schedulePolicy": { + "inquiryDetails": { "oneOf": [ { - "$ref": "#/definitions/SchedulePolicy" + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Backup schedule specified as part of backup policy." + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details." }, - "retentionPolicy": { + "status": { + "type": "string", + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded" + } + }, + "description": "Details about inquired protectable items under a given container." + }, + "InquiryValidation": { + "type": "object", + "properties": { + "errorDetail": { "oneOf": [ { - "$ref": "#/definitions/RetentionPolicy" + "$ref": "#/definitions/ErrorDetail" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention policy with the details on backup copy retention ranges." + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "status": { + "type": "string", + "description": "Status for the Inquiry Validation." } }, - "description": "Sub-protection policy which includes schedule and retention" + "description": "Validation for inquired protectable items under a given container." }, - "vaults_backupFabrics_protectionContainers_protectedItems_childResource": { + "MabContainer": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { + "agentVersion": { "type": "string", - "enum": [ - "protectedItems" - ] + "description": "Agent version of this container." }, - "apiVersion": { - "type": "string", - "enum": [ - "2016-12-01" - ] + "canReRegister": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Can the container be registered one more time." }, - "location": { + "containerHealthState": { "type": "string", - "description": "Resource location." + "description": "Health state of mab container." }, - "tags": { + "containerId": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "ContainerID represents the container." }, - "eTag": { + "containerType": { "type": "string", - "description": "Optional ETag." + "enum": [ + "Windows" + ] }, - "properties": { + "extendedInfo": { "oneOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/MabContainerExtendedInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "ProtectedItemResource properties" - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" - }, - "WeeklyRetentionFormat": { - "type": "object", - "properties": { - "daysOfTheWeek": { + "description": "Additional information of the container." + }, + "mabContainerHealthDetails": { "oneOf": [ { "type": "array", "items": { - "type": "string", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ] + "$ref": "#/definitions/MABContainerHealthDetails" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of days of the week." + "description": "Health details on this mab container." }, - "weeksOfTheMonth": { + "protectedItemCount": { "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ] - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of weeks of month." + "description": "Number of items backed up in this container." } }, - "description": "Weekly retention format." + "required": [ + "containerType" + ], + "description": "Container with items backed up using MAB backup engine." }, - "WeeklyRetentionSchedule": { + "MabContainerExtendedInfo": { "type": "object", "properties": { - "daysOfTheWeek": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of days of week for weekly retention policy." - }, - "retentionTimes": { + "backupItems": { "oneOf": [ { "type": "array", @@ -4480,30 +847,56 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention times of retention policy." + "description": "List of backup items associated with this container." }, - "retentionDuration": { + "backupItemType": { "oneOf": [ { - "$ref": "#/definitions/RetentionDuration" + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention duration of retention Policy." + "description": "Type of backup items associated with this container." + }, + "lastBackupStatus": { + "type": "string", + "description": "Latest backup status of this container." + }, + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was refreshed." + }, + "policyName": { + "type": "string", + "description": "Backup policy associated with this container." } }, - "description": "Weekly retention schedule." + "description": "Additional information of the container." }, - "WorkloadInquiryDetails": { + "MABContainerHealthDetails": { "type": "object", "properties": { - "type": { - "type": "string", - "description": "Type of the Workload such as SQL, Oracle etc." - }, - "itemCount": { + "code": { "oneOf": [ { "type": "integer" @@ -4512,119 +905,127 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Contains the protectable item Count inside this Container." + "description": "Health Code" }, - "inquiryValidation": { + "message": { + "type": "string", + "description": "Health Message" + }, + "recommendations": { "oneOf": [ { - "$ref": "#/definitions/InquiryValidation" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Inquiry validation such as permissions and other backup validations." + "description": "Health Recommended Actions" + }, + "title": { + "type": "string", + "description": "Health Title" } }, - "description": "Details of an inquired protectable item." + "description": "MAB workload-specific Health Details." }, - "YearlyRetentionSchedule": { + "ProtectionContainer": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureSqlContainer" + }, + { + "$ref": "#/definitions/AzureStorageContainer" + }, + { + "$ref": "#/definitions/AzureWorkloadContainer" + }, + { + "$ref": "#/definitions/DpmContainer" + }, + { + "$ref": "#/definitions/GenericContainer" + }, + { + "$ref": "#/definitions/IaaSVMContainer" + }, + { + "$ref": "#/definitions/MabContainer" + } + ], "properties": { - "retentionScheduleFormatType": { + "backupManagementType": { "oneOf": [ { "type": "string", "enum": [ "Invalid", - "Daily", - "Weekly" + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention schedule format for yearly retention policy." + "description": "Type of backup management for the container." }, - "monthsOfYear": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of months of year of yearly retention policy." + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." }, - "retentionScheduleDaily": { - "oneOf": [ - { - "$ref": "#/definitions/DailyRetentionFormat" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Daily retention format for yearly retention policy." + "healthStatus": { + "type": "string", + "description": "Status of health of the container." }, - "retentionScheduleWeekly": { + "registrationStatus": { + "type": "string", + "description": "Status of registration of the container with the Recovery Services Vault." + } + }, + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class." + }, + "WorkloadInquiryDetails": { + "type": "object", + "properties": { + "inquiryValidation": { "oneOf": [ { - "$ref": "#/definitions/WeeklyRetentionFormat" + "$ref": "#/definitions/InquiryValidation" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Weekly retention format for yearly retention policy." + "description": "Validation for inquired protectable items under a given container." }, - "retentionTimes": { + "itemCount": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Retention times of retention policy." + "description": "Contains the protectable item Count inside this Container." }, - "retentionDuration": { - "oneOf": [ - { - "$ref": "#/definitions/RetentionDuration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Retention duration of retention Policy." + "type": { + "type": "string", + "description": "Type of the Workload such as SQL, Oracle etc." } }, - "description": "Yearly retention schedule." + "description": "Details of an inquired protectable item." } } } diff --git a/schemas/2017-07-01/Microsoft.RecoveryServices.json b/schemas/2017-07-01/Microsoft.RecoveryServices.json index 1ffd625c88..2462ed3c88 100644 --- a/schemas/2017-07-01/Microsoft.RecoveryServices.json +++ b/schemas/2017-07-01/Microsoft.RecoveryServices.json @@ -7,60 +7,62 @@ "vaults_backupFabrics_backupProtectionIntent": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-07-01" ] }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "location": { "type": "string", "description": "Resource location." }, - "tags": { + "name": { + "type": "string", + "description": "Intent object name." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ProtectionIntent" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Base class for backup ProtectionIntent." }, - "eTag": { - "type": "string", - "description": "Optional ETag." - }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ProtectionIntent" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "ProtectionIntentResource properties" + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent" } @@ -70,48 +72,15 @@ "type": "object", "oneOf": [ { - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RecoveryServiceVaultItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" - } - ], - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadAutoProtectionIntent" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" } ], "properties": { "protectionIntentItemType": { - "type": "string" + "type": "string", + "enum": [ + "RecoveryServiceVaultItem" + ] } }, "required": [ @@ -121,32 +90,16 @@ }, "AzureResourceProtectionIntent": { "type": "object", - "oneOf": [ - { - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureResourceItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { "friendlyName": { "type": "string", "description": "Friendly name of the VM represented by this backup item." }, "protectionIntentItemType": { - "type": "string" + "type": "string", + "enum": [ + "AzureResourceItem" + ] } }, "required": [ @@ -158,48 +111,15 @@ "type": "object", "oneOf": [ { - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadAutoProtectionIntent" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLAutoProtectionIntent" - } - ], - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadSQLAutoProtectionIntent" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureWorkloadSQLAutoProtectionIntent" } ], "properties": { "protectionIntentItemType": { - "type": "string" + "type": "string", + "enum": [ + "AzureWorkloadAutoProtectionIntent" + ] } }, "required": [ @@ -209,26 +129,13 @@ }, "AzureWorkloadSQLAutoProtectionIntent": { "type": "object", - "oneOf": [ - { - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureWorkloadSQLAutoProtectionIntent" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { + "protectionIntentItemType": { + "type": "string", + "enum": [ + "AzureWorkloadSQLAutoProtectionIntent" + ] + }, "workloadItemType": { "oneOf": [ { @@ -248,9 +155,6 @@ } ], "description": "Workload item type of the item for which intent is to be set." - }, - "protectionIntentItemType": { - "type": "string" } }, "required": [ @@ -262,65 +166,10 @@ "type": "object", "oneOf": [ { - "allOf": [ - { - "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" - } - ], - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RecoveryServiceVaultItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/AzureResourceProtectionIntent" - } - ], - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureResourceItem" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" }, { - "properties": { - "protectionIntentItemType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ProtectionIntent" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureResourceProtectionIntent" } ], "properties": { @@ -346,10 +195,6 @@ ], "description": "Type of backup management for the backed up item." }, - "sourceResourceId": { - "type": "string", - "description": "ARM ID of the resource to be backed up." - }, "itemId": { "type": "string", "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId" @@ -376,13 +221,11 @@ ], "description": "Backup state of this backup item." }, - "protectionIntentItemType": { - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." } }, - "required": [ - "protectionIntentItemType" - ], "description": "Base class for backup ProtectionIntent." } } diff --git a/schemas/2018-12-20/Microsoft.RecoveryServices.json b/schemas/2018-12-20/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..357d7f0414 --- /dev/null +++ b/schemas/2018-12-20/Microsoft.RecoveryServices.json @@ -0,0 +1,148 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-12-20/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_backupstorageconfig": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-12-20" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultstorageconfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource storage details." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupstorageconfig" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupstorageconfig" + } + }, + "definitions": { + "BackupResourceConfig": { + "type": "object", + "properties": { + "crossRegionRestoreFlag": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Opt in details of Cross Region Restore feature." + }, + "storageModelType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageTypeState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + } + }, + "description": "The resource storage details." + } + } +} diff --git a/schemas/2019-05-13/Microsoft.RecoveryServices.json b/schemas/2019-05-13/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..f2b91e5f0a --- /dev/null +++ b/schemas/2019-05-13/Microsoft.RecoveryServices.json @@ -0,0 +1,2270 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-05-13/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_backupFabrics_protectionContainers_protectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-13" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Item name to be backed up." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectedItem" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup items." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + }, + "vaults_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-13" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Backup policy to be created." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "definitions": { + "AzureFileshareProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information about Azure File Share backup item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the fileshare represented by this backup item." + }, + "healthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "backups running status for this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureFileShareProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure File Share workload-specific backup item." + }, + "AzureFileshareProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information about Azure File Share backup item." + }, + "AzureFileShareProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureStorage" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "AzureStorage backup policy." + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM." + }, + "AzureIaaSComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM." + }, + "AzureIaaSVMHealthDetails": { + "type": "object", + "properties": {}, + "description": "Azure IaaS VM workload-specific Health Details." + }, + "AzureIaaSVMProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSComputeVMProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "extendedProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended Properties for Azure IaasVM Backup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item." + }, + "healthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details on this backup item." + }, + "healthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health status of protected item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemDataId": { + "type": "string", + "description": "Data ID of the protected item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureIaaSVMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM ID of the virtual machine represented by this item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item." + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item." + }, + "policyInconsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if backup policy associated with the backup item is inconsistent." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "AzureIaaSVMProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureIaasVM" + ] + }, + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "IaaS VM workload-specific backup policy." + }, + "AzureSqlProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Sql specific protected item." + }, + "protectedItemDataId": { + "type": "string", + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of the backed up item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure SQL workload-specific backup item." + }, + "AzureSqlProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "State of the backup policy associated with this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information on Azure Sql specific protected item." + }, + "AzureSqlProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureSql" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure SQL workload-specific backup policy." + }, + "AzureVmWorkloadProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadSAPAseDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSAPHanaDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSQLDatabaseProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the DB represented by this backup item." + }, + "lastBackupErrorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "lastBackupStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "parentName": { + "type": "string", + "description": "Parent name of the DB such as Instance or Availability Group." + }, + "parentType": { + "type": "string", + "description": "Parent type of protected item, example: for a DB, standalone server or distributed" + }, + "protectedItemDataSourceId": { + "type": "string", + "description": "Data ID of the protected item." + }, + "protectedItemHealthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health status of the backup item, evaluated based on last heartbeat received." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item." + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "AzureVmWorkloadProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureWorkload" + ] + }, + "makePolicyConsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fix the policy inconsistency" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/definitions/Settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common settings field for backup management" + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPAseDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP ASE Database." + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPHanaDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP HANA Database." + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSQLDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SQL Database." + }, + "DailyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the month." + } + }, + "description": "Daily retention format." + }, + "DailyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Daily retention schedule." + }, + "Day": { + "type": "object", + "properties": { + "date": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Date of the month" + }, + "isLast": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether Date is last date of month" + } + }, + "description": "Day of the week." + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection." + }, + "isInclusionList": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup." + } + } + }, + "DPMProtectedItem": { + "type": "object", + "properties": { + "backupEngineName": { + "type": "string", + "description": "Backup Management server protecting this backup item" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information of DPM Protected item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the managed item" + }, + "protectedItemType": { + "type": "string", + "enum": [ + "DPMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protection state of the backup engine." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Additional information on Backup engine specific backup item." + }, + "DPMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "diskStorageUsedInBytes": { + "type": "string", + "description": "Used Disk storage in bytes." + }, + "isCollocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is collocated." + }, + "isPresentOnCloud": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is cloud protected." + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup status information on backup item." + }, + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time on backup item." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest cloud recovery point time." + }, + "onPremiseLatestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "latest disk recovery point time." + }, + "onPremiseOldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest disk recovery point time." + }, + "onPremiseRecoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "disk recovery point count." + }, + "protectableObjectLoadPath": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Attribute to provide information on various DBs." + }, + "protected": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is disk protected." + }, + "protectionGroupName": { + "type": "string", + "description": "Protection group name of the backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "cloud recovery point count." + }, + "totalDiskStorageSizeInBytes": { + "type": "string", + "description": "total Disk storage in bytes." + } + }, + "description": "Additional information of DPM Protected item." + }, + "ErrorDetail": { + "type": "object", + "properties": {}, + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "ExtendedProperties": { + "type": "object", + "properties": { + "diskExclusionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskExclusionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Extended Properties for Azure IaasVM Backup." + }, + "GenericProtectedItem": { + "type": "object", + "properties": { + "fabricName": { + "type": "string", + "description": "Name of this backup item's fabric." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "protectedItemId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Plane Service ID of the protected item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "GenericProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "sourceAssociations": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Base class for backup items." + }, + "GenericProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "GenericProtectionPolicy" + ] + }, + "fabricName": { + "type": "string", + "description": "Name of this policy's fabric." + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "LogSchedulePolicy": { + "type": "object", + "properties": { + "scheduleFrequencyInMins": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the log schedule operation of this policy in minutes." + }, + "schedulePolicyType": { + "type": "string", + "enum": [ + "LogSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Log policy schedule." + }, + "LongTermRetentionPolicy": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention schedule." + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly retention schedule." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "LongTermRetentionPolicy" + ] + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention schedule." + }, + "yearlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/YearlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly retention schedule." + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Long term retention policy." + }, + "LongTermSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "LongTermSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Long term policy schedule." + }, + "MabFileFolderProtectedItem": { + "type": "object", + "properties": { + "computerName": { + "type": "string", + "description": "Name of the computer associated with this backup item." + }, + "deferredDeleteSyncTimeInUTC": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sync time for deferred deletion in UTC" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on the backed up item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Status of last backup operation." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "MabFileFolderProtectedItem" + ] + }, + "protectionState": { + "type": "string", + "description": "Protected, ProtectionStopped, IRPending or ProtectionError" + } + }, + "required": [ + "protectedItemType" + ], + "description": "MAB workload-specific backup item." + }, + "MabFileFolderProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last time when the agent data synced to service." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies associated with the backup item." + } + }, + "description": "Additional information on the backed up item." + }, + "MabProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "MAB" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Mab container-specific backup policy." + }, + "MonthlyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format type for monthly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Monthly retention schedule." + }, + "ProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureSqlProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + }, + { + "$ref": "#/definitions/DPMProtectedItem" + }, + { + "$ref": "#/definitions/GenericProtectedItem" + }, + { + "$ref": "#/definitions/MabFileFolderProtectedItem" + } + ], + "properties": { + "backupManagementType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup management for the backed up item." + }, + "backupSetName": { + "type": "string", + "description": "Name of the backup set the backup item belongs to" + }, + "containerName": { + "type": "string", + "description": "Unique name of container" + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Default", + "Recover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source." + }, + "deferredDeleteTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Time for deferred deletion in UTC" + }, + "deferredDeleteTimeRemaining": { + "type": "string", + "description": "Time remaining before the DS marked for deferred delete is permanently deleted" + }, + "isDeferredDeleteScheduleUpcoming": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the deferred deleted DS is to be purged soon" + }, + "isRehydrate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state" + }, + "isScheduledForDeferredDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the DS is scheduled for deferred delete" + }, + "lastRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item." + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." + }, + "workloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload this item represents." + } + }, + "description": "Base class for backup items." + }, + "ProtectionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureFileShareProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureSqlProtectionPolicy" + }, + { + "$ref": "#/definitions/GenericProtectionPolicy" + }, + { + "$ref": "#/definitions/MabProtectionPolicy" + } + ], + "properties": { + "protectedItemsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of items associated with this policy." + } + }, + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "RetentionDuration": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks." + }, + "durationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration type of retention policy." + } + }, + "description": "Retention duration." + }, + "RetentionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LongTermRetentionPolicy" + }, + { + "$ref": "#/definitions/SimpleRetentionPolicy" + } + ], + "properties": {}, + "description": "Base class for retention policy." + }, + "SchedulePolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LogSchedulePolicy" + }, + { + "$ref": "#/definitions/LongTermSchedulePolicy" + }, + { + "$ref": "#/definitions/SimpleSchedulePolicy" + } + ], + "properties": {}, + "description": "Base class for backup schedule." + }, + "Settings": { + "type": "object", + "properties": { + "isCompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag." + }, + "issqlcompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL compression flag" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "description": "Common settings field for backup management" + }, + "SimpleRetentionPolicy": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "SimpleRetentionPolicy" + ] + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Simple policy retention." + }, + "SimpleSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "SimpleSchedulePolicy" + ] + }, + "scheduleRunDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week this schedule has to be run." + }, + "scheduleRunFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the schedule operation of this policy." + }, + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times of day this schedule has to be run." + }, + "scheduleWeeklyFrequency": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "At every number weeks this schedule has to be run." + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Simple policy schedule." + }, + "SubProtectionPolicy": { + "type": "object", + "properties": { + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup policy type." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + } + }, + "description": "Sub-protection policy which includes schedule and retention" + }, + "WeeklyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the week." + }, + "weeksOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of weeks of month." + } + }, + "description": "Weekly retention format." + }, + "WeeklyRetentionSchedule": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week for weekly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Weekly retention schedule." + }, + "YearlyRetentionSchedule": { + "type": "object", + "properties": { + "monthsOfYear": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of months of year of yearly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Yearly retention schedule." + } + } +} diff --git a/schemas/2019-06-15/Microsoft.RecoveryServices.json b/schemas/2019-06-15/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..962548dc49 --- /dev/null +++ b/schemas/2019-06-15/Microsoft.RecoveryServices.json @@ -0,0 +1,2518 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_backupconfig": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultconfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceVaultConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup resource vault config details." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupconfig" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupconfig" + }, + "vaults_backupFabrics_protectionContainers_protectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Item name to be backed up." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectedItem" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup items." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + }, + "vaults_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Backup policy to be created." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "definitions": { + "AzureFileshareProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information about Azure File Share backup item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the fileshare represented by this backup item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureFileShareProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure File Share workload-specific backup item." + }, + "AzureFileshareProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information about Azure File Share backup item." + }, + "AzureFileShareProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureStorage" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "AzureStorage backup policy." + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM." + }, + "AzureIaaSComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM." + }, + "AzureIaaSVMHealthDetails": { + "type": "object", + "properties": {}, + "description": "Azure IaaS VM workload-specific Health Details." + }, + "AzureIaaSVMProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSComputeVMProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "extendedProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended Properties for Azure IaasVM Backup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item." + }, + "healthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details on this backup item." + }, + "healthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health status of protected item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemDataId": { + "type": "string", + "description": "Data ID of the protected item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureIaaSVMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM ID of the virtual machine represented by this item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item." + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item." + }, + "policyInconsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if backup policy associated with the backup item is inconsistent." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "AzureIaaSVMProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureIaasVM" + ] + }, + "instantRPDetails": { + "oneOf": [ + { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "IaaS VM workload-specific backup policy." + }, + "AzureSqlProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Sql specific protected item." + }, + "protectedItemDataId": { + "type": "string", + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of the backed up item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure SQL workload-specific backup item." + }, + "AzureSqlProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "State of the backup policy associated with this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information on Azure Sql specific protected item." + }, + "AzureSqlProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureSql" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure SQL workload-specific backup policy." + }, + "AzureVmWorkloadProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadSAPAseDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSAPHanaDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSQLDatabaseProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the DB represented by this backup item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupErrorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "lastBackupStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "parentName": { + "type": "string", + "description": "Parent name of the DB such as Instance or Availability Group." + }, + "parentType": { + "type": "string", + "description": "Parent type of protected item, example: for a DB, standalone server or distributed" + }, + "protectedItemDataSourceId": { + "type": "string", + "description": "Data ID of the protected item." + }, + "protectedItemHealthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health status of the backup item, evaluated based on last heartbeat received." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item." + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "AzureVmWorkloadProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureWorkload" + ] + }, + "makePolicyConsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fix the policy inconsistency" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/definitions/Settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common settings field for backup management" + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPAseDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP ASE Database." + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPHanaDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP HANA Database." + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSQLDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SQL Database." + }, + "BackupResourceVaultConfig": { + "type": "object", + "properties": { + "enhancedSecurityState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabled or Disabled." + }, + "softDeleteFeatureState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft Delete feature state." + }, + "storageModelType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageTypeState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + } + }, + "description": "Backup resource vault config details." + }, + "DailyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the month." + } + }, + "description": "Daily retention format." + }, + "DailyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Daily retention schedule." + }, + "Day": { + "type": "object", + "properties": { + "date": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Date of the month" + }, + "isLast": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether Date is last date of month" + } + }, + "description": "Day of the week." + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection." + }, + "isInclusionList": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup." + } + } + }, + "DPMProtectedItem": { + "type": "object", + "properties": { + "backupEngineName": { + "type": "string", + "description": "Backup Management server protecting this backup item" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information of DPM Protected item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the managed item" + }, + "protectedItemType": { + "type": "string", + "enum": [ + "DPMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protection state of the backup engine." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Additional information on Backup engine specific backup item." + }, + "DPMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "diskStorageUsedInBytes": { + "type": "string", + "description": "Used Disk storage in bytes." + }, + "isCollocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is collocated." + }, + "isPresentOnCloud": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is cloud protected." + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup status information on backup item." + }, + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time on backup item." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest cloud recovery point time." + }, + "onPremiseLatestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "latest disk recovery point time." + }, + "onPremiseOldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest disk recovery point time." + }, + "onPremiseRecoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "disk recovery point count." + }, + "protectableObjectLoadPath": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Attribute to provide information on various DBs." + }, + "protected": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is disk protected." + }, + "protectionGroupName": { + "type": "string", + "description": "Protection group name of the backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "cloud recovery point count." + }, + "totalDiskStorageSizeInBytes": { + "type": "string", + "description": "total Disk storage in bytes." + } + }, + "description": "Additional information of DPM Protected item." + }, + "ErrorDetail": { + "type": "object", + "properties": {}, + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "ExtendedProperties": { + "type": "object", + "properties": { + "diskExclusionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskExclusionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Extended Properties for Azure IaasVM Backup." + }, + "GenericProtectedItem": { + "type": "object", + "properties": { + "fabricName": { + "type": "string", + "description": "Name of this backup item's fabric." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "protectedItemId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Plane Service ID of the protected item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "GenericProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "sourceAssociations": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Base class for backup items." + }, + "GenericProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "GenericProtectionPolicy" + ] + }, + "fabricName": { + "type": "string", + "description": "Name of this policy's fabric." + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "KPIResourceHealthDetails": { + "type": "object", + "properties": { + "resourceHealthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Health Status" + }, + "resourceHealthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Health Status." + } + }, + "description": "KPI Resource Health Details" + }, + "LogSchedulePolicy": { + "type": "object", + "properties": { + "scheduleFrequencyInMins": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the log schedule operation of this policy in minutes." + }, + "schedulePolicyType": { + "type": "string", + "enum": [ + "LogSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Log policy schedule." + }, + "LongTermRetentionPolicy": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention schedule." + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly retention schedule." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "LongTermRetentionPolicy" + ] + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention schedule." + }, + "yearlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/YearlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly retention schedule." + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Long term retention policy." + }, + "LongTermSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "LongTermSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Long term policy schedule." + }, + "MabFileFolderProtectedItem": { + "type": "object", + "properties": { + "computerName": { + "type": "string", + "description": "Name of the computer associated with this backup item." + }, + "deferredDeleteSyncTimeInUTC": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sync time for deferred deletion in UTC" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on the backed up item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Status of last backup operation." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "MabFileFolderProtectedItem" + ] + }, + "protectionState": { + "type": "string", + "description": "Protected, ProtectionStopped, IRPending or ProtectionError" + } + }, + "required": [ + "protectedItemType" + ], + "description": "MAB workload-specific backup item." + }, + "MabFileFolderProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last time when the agent data synced to service." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies associated with the backup item." + } + }, + "description": "Additional information on the backed up item." + }, + "MabProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "MAB" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Mab container-specific backup policy." + }, + "MonthlyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format type for monthly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Monthly retention schedule." + }, + "ProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureSqlProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + }, + { + "$ref": "#/definitions/DPMProtectedItem" + }, + { + "$ref": "#/definitions/GenericProtectedItem" + }, + { + "$ref": "#/definitions/MabFileFolderProtectedItem" + } + ], + "properties": { + "backupManagementType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup management for the backed up item." + }, + "backupSetName": { + "type": "string", + "description": "Name of the backup set the backup item belongs to" + }, + "containerName": { + "type": "string", + "description": "Unique name of container" + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Default", + "Recover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source." + }, + "deferredDeleteTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Time for deferred deletion in UTC" + }, + "deferredDeleteTimeRemaining": { + "type": "string", + "description": "Time remaining before the DS marked for deferred delete is permanently deleted" + }, + "isDeferredDeleteScheduleUpcoming": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the deferred deleted DS is to be purged soon" + }, + "isRehydrate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state" + }, + "isScheduledForDeferredDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the DS is scheduled for deferred delete" + }, + "lastRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item." + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." + }, + "workloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload this item represents." + } + }, + "description": "Base class for backup items." + }, + "ProtectionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureFileShareProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureSqlProtectionPolicy" + }, + { + "$ref": "#/definitions/GenericProtectionPolicy" + }, + { + "$ref": "#/definitions/MabProtectionPolicy" + } + ], + "properties": { + "protectedItemsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of items associated with this policy." + } + }, + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "ResourceHealthDetails": { + "type": "object", + "properties": {}, + "description": "Health Details for backup items." + }, + "RetentionDuration": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks." + }, + "durationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration type of retention policy." + } + }, + "description": "Retention duration." + }, + "RetentionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LongTermRetentionPolicy" + }, + { + "$ref": "#/definitions/SimpleRetentionPolicy" + } + ], + "properties": {}, + "description": "Base class for retention policy." + }, + "SchedulePolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LogSchedulePolicy" + }, + { + "$ref": "#/definitions/LongTermSchedulePolicy" + }, + { + "$ref": "#/definitions/SimpleSchedulePolicy" + } + ], + "properties": {}, + "description": "Base class for backup schedule." + }, + "Settings": { + "type": "object", + "properties": { + "isCompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag." + }, + "issqlcompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL compression flag" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "description": "Common settings field for backup management" + }, + "SimpleRetentionPolicy": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "SimpleRetentionPolicy" + ] + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Simple policy retention." + }, + "SimpleSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "SimpleSchedulePolicy" + ] + }, + "scheduleRunDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week this schedule has to be run." + }, + "scheduleRunFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the schedule operation of this policy." + }, + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times of day this schedule has to be run." + }, + "scheduleWeeklyFrequency": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "At every number weeks this schedule has to be run." + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Simple policy schedule." + }, + "SubProtectionPolicy": { + "type": "object", + "properties": { + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup policy type." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + } + }, + "description": "Sub-protection policy which includes schedule and retention" + }, + "WeeklyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the week." + }, + "weeksOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of weeks of month." + } + }, + "description": "Weekly retention format." + }, + "WeeklyRetentionSchedule": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week for weekly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Weekly retention schedule." + }, + "YearlyRetentionSchedule": { + "type": "object", + "properties": { + "monthsOfYear": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of months of year of yearly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Yearly retention schedule." + } + } +} diff --git a/schemas/2020-02-02/Microsoft.RecoveryServices.json b/schemas/2020-02-02/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..e016bb765d --- /dev/null +++ b/schemas/2020-02-02/Microsoft.RecoveryServices.json @@ -0,0 +1,158 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-02-02/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-02" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private Endpoint Connection Response Properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/privateEndpointConnections" + } + }, + "definitions": { + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets id" + } + }, + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private Link Service Connection State" + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets provisioning state of the private endpoint connection." + } + }, + "description": "Private Endpoint Connection Response Properties" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionRequired": { + "type": "string", + "description": "Gets or sets actions required" + }, + "description": { + "type": "string", + "description": "Gets or sets description" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the status." + } + }, + "description": "Private Link Service Connection State" + } + } +}