{ "swagger": "2.0", "info": { "version": "2017-07-01", "title": "RecoveryServicesBackupClient", "x-ms-code-generation-settings": { "internalConstructors": false } }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { "post": { "tags": [ "ProtectionIntent" ], "summary": "It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.", "operationId": "ProtectionIntent_Validate", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/AzureRegion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Enable backup validation request on Virtual Machine", "required": true, "schema": { "$ref": "#/definitions/PreValidateEnableBackupRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PreValidateEnableBackupResponse" } } }, "deprecated": false, "x-ms-examples": { "Validate Enable Protection on Azure Vm": { "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" } } } }, "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { "post": { "tags": [ "BackupStatus" ], "summary": "Get the container backup status", "operationId": "BackupStatus_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/AzureRegion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Container Backup Status Request", "required": true, "schema": { "$ref": "#/definitions/BackupStatusRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupStatusResponse" } } }, "deprecated": false, "x-ms-examples": { "Get Azure Virtual Machine Backup Status": { "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" } } } }, "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { "post": { "tags": [ "FeatureSupport" ], "summary": "It will validate if given feature with resource properties is supported in service", "operationId": "FeatureSupport_Validate", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/AzureRegion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Feature support request object", "required": true, "schema": { "$ref": "#/definitions/FeatureSupportRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" } } }, "deprecated": false, "x-ms-examples": { "Check Azure Vm Backup Feature Support": { "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { "put": { "tags": [ "ProtectionIntent" ], "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", "operationId": "ProtectionIntent_CreateOrUpdate", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "fabricName", "in": "path", "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "intentObjectName", "in": "path", "description": "Intent object name.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "resource backed up item", "required": true, "schema": { "$ref": "#/definitions/ProtectionIntentResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ProtectionIntentResource" } } }, "deprecated": false, "x-ms-examples": { "Create or Update Azure Vm Protection Intent": { "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { "get": { "tags": [ "BackupJobs" ], "description": "Provides a pageable list of jobs.", "operationId": "BackupJobs_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", "in": "query", "description": "OData filter options.", "required": false, "type": "string" }, { "name": "$skipToken", "in": "query", "description": "skipToken Filter.", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/JobResourceList" } } }, "deprecated": false, "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List All Jobs": { "$ref": "./examples/Common/ListJobs.json" }, "List Jobs With Filters": { "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" }, "List Jobs With Time Filter": { "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { "get": { "tags": [ "JobDetails" ], "description": "Gets exteded information associated with the job.", "operationId": "JobDetails_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "jobName", "in": "path", "description": "Name of the job whose details are to be fetched.", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/JobResource" } } }, "deprecated": false, "x-ms-examples": { "Get Job Details": { "$ref": "./examples/Common/GetJobDetails.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { "get": { "tags": [ "ExportJobsOperationResults" ], "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\n contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", "operationId": "ExportJobsOperationResults_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "operationId", "in": "path", "description": "OperationID which represents the export job.", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/OperationResultInfoBaseResource" } }, "202": { "description": "Accepted", "schema": { "$ref": "#/definitions/OperationResultInfoBaseResource" } } }, "deprecated": false, "x-ms-examples": { "Export Jobs Operation Results": { "$ref": "./examples/Common/ExportJobsOperationResult.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { "post": { "tags": [ "Jobs" ], "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", "operationId": "Jobs_Export", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", "in": "query", "description": "OData filter options.", "required": false, "type": "string" } ], "responses": { "202": { "description": "Accepted" } }, "deprecated": false, "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-examples": { "Export Jobs": { "$ref": "./examples/Common/TriggerExoprtJobs.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { "get": { "tags": [ "BackupPolicies" ], "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\n scoped results.", "operationId": "BackupPolicies_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", "in": "query", "description": "OData filter options.", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ProtectionPolicyResourceList" } } }, "deprecated": false, "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List protection policies with backupManagementType filter as AzureIaasVm": { "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" }, "List protection policies with backupManagementType filter as AzureWorkload": { "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { "get": { "tags": [ "BackupProtectedItems" ], "description": "Provides a pageable list of all items that are backed up within a vault.", "operationId": "BackupProtectedItems_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", "in": "query", "description": "OData filter options.", "required": false, "type": "string" }, { "name": "$skipToken", "in": "query", "description": "skipToken Filter.", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ProtectedItemResourceList" } } }, "deprecated": false, "x-ms-odata": "#/definitions/ProtectedItemQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List protected items with backupManagementType filter as AzureIaasVm": { "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { "get": { "tags": [ "BackupUsageSummaries" ], "description": "Fetches the backup management usage summaries of the vault.", "operationId": "BackupUsageSummaries_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", "in": "query", "description": "OData filter options.", "required": false, "type": "string" }, { "name": "$skipToken", "in": "query", "description": "skipToken Filter.", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupManagementUsageList" } } }, "deprecated": false, "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", "x-ms-pageable": { "nextLinkName": null }, "x-ms-examples": { "Get Protected Items Usages Summary": { "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" }, "Get Protected Containers Usages Summary": { "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" } } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { "post": { "tags": [ "Validate" ], "description": "Validate operation for specified backed up item. This is a synchronous operation.", "operationId": "Operation_Validate", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "resource validate operation request", "required": true, "schema": { "$ref": "#/definitions/ValidateOperationRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ValidateOperationsResponse" } } }, "deprecated": false, "x-ms-examples": { "Validate Operation": { "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" } } } } }, "definitions": { "AzureBackupGoalFeatureSupportRequest": { "description": "Azure backup goal feature specific request.", "type": "object", "allOf": [ { "$ref": "#/definitions/FeatureSupportRequest" } ], "x-ms-discriminator-value": "AzureBackupGoals" }, "AzureFileshareProtectedItem": { "description": "Azure File Share workload-specific backup item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the fileshare represented by this backup item.", "type": "string" }, "protectionStatus": { "description": "Backup status of this backup item.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectionState", "modelAsString": true } }, "healthStatus": { "description": "backups running status for this backup item.", "enum": [ "Passed", "ActionRequired", "ActionSuggested", "Invalid" ], "type": "string", "x-ms-enum": { "name": "HealthStatus", "modelAsString": true } }, "lastBackupStatus": { "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", "type": "string" }, "lastBackupTime": { "format": "date-time", "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, "extendedInfo": { "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", "description": "Additional information with this backup item." } }, "x-ms-discriminator-value": "AzureFileShareProtectedItem" }, "AzureFileshareProtectedItemExtendedInfo": { "description": "Additional information about Azure File Share backup item.", "type": "object", "properties": { "oldestRecoveryPoint": { "format": "date-time", "description": "The oldest backup copy available for this item in the service.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "Number of available backup copies associated with this backup item.", "type": "integer" }, "policyState": { "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" } } }, "AzureFileShareProtectionPolicy": { "description": "AzureStorage backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "workLoadType": { "description": "Type of workload for the backup management", "type": "string" }, "schedulePolicy": { "$ref": "#/definitions/SchedulePolicy", "description": "Backup schedule specified as part of backup policy." }, "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" } }, "x-ms-discriminator-value": "AzureStorage" }, "AzureFileShareRestoreRequest": { "description": "AzureFileShare Restore Request", "type": "object", "allOf": [ { "$ref": "#/definitions/RestoreRequest" } ], "properties": { "recoveryType": { "description": "Type of this recovery.", "enum": [ "Invalid", "OriginalLocation", "AlternateLocation", "RestoreDisks" ], "type": "string", "x-ms-enum": { "name": "RecoveryType", "modelAsString": true } }, "sourceResourceId": { "description": "Source storage account ARM Id", "type": "string" }, "copyOptions": { "description": "Options to resolve copy conflicts.", "enum": [ "Invalid", "CreateCopy", "Skip", "Overwrite", "FailOnConflict" ], "type": "string", "x-ms-enum": { "name": "CopyOptions", "modelAsString": true } }, "restoreRequestType": { "description": "Restore Type (FullShareRestore or ItemLevelRestore)", "enum": [ "Invalid", "FullShareRestore", "ItemLevelRestore" ], "type": "string", "x-ms-enum": { "name": "RestoreRequestType", "modelAsString": true } }, "restoreFileSpecs": { "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", "type": "array", "items": { "$ref": "#/definitions/RestoreFileSpecs" } }, "targetDetails": { "$ref": "#/definitions/TargetAFSRestoreInfo", "description": "Target File Share Details" } }, "x-ms-discriminator-value": "AzureFileShareRestoreRequest" }, "AzureIaaSClassicComputeVMProtectedItem": { "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureIaaSVMProtectedItem" } ], "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, "AzureIaaSComputeVMProtectedItem": { "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureIaaSVMProtectedItem" } ], "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, "AzureIaaSVMErrorInfo": { "description": "Azure IaaS VM workload-specific error information.", "type": "object", "properties": { "errorCode": { "format": "int32", "description": "Error code.", "type": "integer" }, "errorTitle": { "description": "Title: Typically, the entity that the error pertains to.", "type": "string" }, "errorString": { "description": "Localized error string.", "type": "string" }, "recommendations": { "description": "List of localized recommendations for above error code.", "type": "array", "items": { "type": "string" } } } }, "AzureIaaSVMHealthDetails": { "description": "Azure IaaS VM workload-specific Health Details.", "type": "object", "properties": { "code": { "format": "int32", "description": "Health Code", "type": "integer" }, "title": { "description": "Health Title", "type": "string" }, "message": { "description": "Health Message", "type": "string" }, "recommendations": { "description": "Health Recommended Actions", "type": "array", "items": { "type": "string" } } } }, "AzureIaaSVMJob": { "description": "Azure IaaS VM workload-specifc job object.", "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], "properties": { "duration": { "format": "duration", "description": "Time elapsed during the execution of this job.", "type": "string" }, "actionsInfo": { "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", "items": { "enum": [ "Invalid", "Cancellable", "Retriable" ], "type": "string", "x-ms-enum": { "name": "JobSupportedAction", "modelAsString": false } } }, "errorDetails": { "description": "Error details on execution of this job.", "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMErrorInfo" } }, "virtualMachineVersion": { "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", "type": "string" }, "extendedInfo": { "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", "description": "Additional information for this job." } }, "x-ms-discriminator-value": "AzureIaaSVMJob" }, "AzureIaaSVMJobExtendedInfo": { "description": "Azure IaaS VM workload-specific additional information for job.", "type": "object", "properties": { "tasksList": { "description": "List of tasks associated with this job.", "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" } }, "propertyBag": { "description": "Job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "internalPropertyBag": { "description": "Job internal properties.", "type": "object", "additionalProperties": { "type": "string" } }, "progressPercentage": { "format": "double", "description": "Indicates progress of the job. Null if it has not started or completed.", "type": "number" }, "estimatedRemainingDuration": { "description": "Time remaining for execution of this job.", "type": "string" }, "dynamicErrorMessage": { "description": "Non localized error message on job execution.", "type": "string" } } }, "AzureIaaSVMJobTaskDetails": { "description": "Azure IaaS VM workload-specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, "startTime": { "format": "date-time", "description": "The start time.", "type": "string" }, "endTime": { "format": "date-time", "description": "The end time.", "type": "string" }, "instanceId": { "description": "The instanceId.", "type": "string" }, "duration": { "format": "duration", "description": "Time elapsed for task.", "type": "string" }, "status": { "description": "The status.", "type": "string" }, "progressPercentage": { "format": "double", "description": "Progress of the task.", "type": "number" }, "taskExecutionDetails": { "description": "Details about execution of the task.\r\n eg: number of bytes transfered etc", "type": "string" } } }, "AzureIaaSVMProtectedItem": { "description": "IaaS VM workload-specific backup item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the VM represented by this backup item.", "type": "string" }, "virtualMachineId": { "description": "Fully qualified ARM ID of the virtual machine represented by this item.", "type": "string" }, "protectionStatus": { "description": "Backup status of this backup item.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectionState", "modelAsString": true } }, "healthStatus": { "description": "Health status of protected item", "enum": [ "Passed", "ActionRequired", "ActionSuggested", "Invalid" ], "type": "string", "x-ms-enum": { "name": "HealthStatus", "modelAsString": true } }, "healthDetails": { "description": "Health details on this backup item.", "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMHealthDetails" } }, "lastBackupStatus": { "description": "Last backup operation status.", "type": "string" }, "lastBackupTime": { "format": "date-time", "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, "protectedItemDataId": { "description": "Data ID of the protected item.", "type": "string" }, "extendedInfo": { "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", "description": "Additional information for this backup item." } }, "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" }, "AzureIaaSVMProtectedItemExtendedInfo": { "description": "Additional information on Azure IaaS VM specific backup item.", "type": "object", "properties": { "oldestRecoveryPoint": { "format": "date-time", "description": "The oldest backup copy available for this backup item.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "Number of backup copies available for this backup item.", "type": "integer" }, "policyInconsistent": { "description": "Specifies if backup policy associated with the backup item is inconsistent.", "type": "boolean" } } }, "AzureIaaSVMProtectionPolicy": { "description": "IaaS VM workload-specific backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "schedulePolicy": { "$ref": "#/definitions/SchedulePolicy", "description": "Backup schedule specified as part of backup policy." }, "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." }, "instantRpRetentionRangeInDays": { "format": "int32", "description": "Instant RP retention policy range in days", "type": "integer" }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" } }, "x-ms-discriminator-value": "AzureIaasVM" }, "AzureRecoveryServiceVaultProtectionIntent": { "description": "Azure Recovery Services Vault specific protection intent item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionIntent" } ], "x-ms-discriminator-value": "RecoveryServiceVaultItem" }, "AzureResourceProtectionIntent": { "description": "IaaS VM specific backup protection intent item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionIntent" } ], "properties": { "friendlyName": { "description": "Friendly name of the VM represented by this backup item.", "type": "string" } }, "x-ms-discriminator-value": "AzureResourceItem" }, "AzureSqlProtectedItem": { "description": "Azure SQL workload-specific backup item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "protectedItemDataId": { "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", "type": "string" }, "protectionState": { "description": "Backup state of the backed up item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectedItemState", "modelAsString": true } }, "extendedInfo": { "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", "description": "Additional information for this backup item." } }, "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" }, "AzureSqlProtectedItemExtendedInfo": { "description": "Additional information on Azure Sql specific protected item.", "type": "object", "properties": { "oldestRecoveryPoint": { "format": "date-time", "description": "The oldest backup copy available for this item in the service.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "Number of available backup copies associated with this backup item.", "type": "integer" }, "policyState": { "description": "State of the backup policy associated with this backup item.", "type": "string" } } }, "AzureSqlProtectionPolicy": { "description": "Azure SQL workload-specific backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy details." } }, "x-ms-discriminator-value": "AzureSql" }, "AzureStorageErrorInfo": { "description": "Azure storage specific error information", "type": "object", "properties": { "errorCode": { "format": "int32", "description": "Error code.", "type": "integer" }, "errorString": { "description": "Localized error string.", "type": "string" }, "recommendations": { "description": "List of localized recommendations for above error code.", "type": "array", "items": { "type": "string" } } } }, "AzureStorageJob": { "description": "Azure storage specific job.", "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], "properties": { "duration": { "format": "duration", "description": "Time elapsed during the execution of this job.", "type": "string" }, "actionsInfo": { "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", "items": { "enum": [ "Invalid", "Cancellable", "Retriable" ], "type": "string", "x-ms-enum": { "name": "JobSupportedAction", "modelAsString": false } } }, "errorDetails": { "description": "Error details on execution of this job.", "type": "array", "items": { "$ref": "#/definitions/AzureStorageErrorInfo" } }, "storageAccountName": { "description": "Specifies friendly name of the storage account.", "type": "string" }, "storageAccountVersion": { "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", "type": "string" }, "extendedInfo": { "$ref": "#/definitions/AzureStorageJobExtendedInfo", "description": "Additional information about the job." } } }, "AzureStorageJobExtendedInfo": { "description": "Azure Storage workload-specific additional information for job.", "type": "object", "properties": { "tasksList": { "description": "List of tasks for this job", "type": "array", "items": { "$ref": "#/definitions/AzureStorageJobTaskDetails" } }, "propertyBag": { "description": "Job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { "description": "Non localized error message on job execution.", "type": "string" } } }, "AzureStorageJobTaskDetails": { "description": "Azure storage workload specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, "status": { "description": "The status.", "type": "string" } } }, "AzureVMResourceFeatureSupportRequest": { "description": "AzureResource(IaaS VM) Specific feature support request", "type": "object", "allOf": [ { "$ref": "#/definitions/FeatureSupportRequest" } ], "properties": { "vmSize": { "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", "type": "string" }, "vmSku": { "description": "SKUs (Premium/Managed etc) in case of IaasVM", "type": "string" } }, "x-ms-discriminator-value": "AzureVMResourceBackup" }, "AzureVMResourceFeatureSupportResponse": { "description": "Response for feature support requests for Azure IaasVm", "type": "object", "properties": { "supportStatus": { "description": "Support status of feature", "enum": [ "Invalid", "Supported", "DefaultOFF", "DefaultON", "NotSupported" ], "type": "string", "x-ms-enum": { "name": "SupportStatus", "modelAsString": true } } } }, "AzureVmWorkloadProtectedItem": { "description": "Azure VM workload-specific protected item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the DB represented by this backup item.", "type": "string" }, "serverName": { "description": "Host/Cluster Name for instance or AG", "type": "string" }, "parentName": { "description": "Parent name of the DB such as Instance or Availability Group.", "type": "string" }, "parentType": { "description": "Parent type of protected item, example: for a DB, standalone server or distributed", "type": "string" }, "protectionStatus": { "description": "Backup status of this backup item.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectionState", "modelAsString": true } }, "lastBackupStatus": { "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", "enum": [ "Invalid", "Healthy", "Unhealthy", "IRPending" ], "type": "string", "x-ms-enum": { "name": "LastBackupStatus", "modelAsString": true } }, "lastBackupTime": { "format": "date-time", "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, "lastBackupErrorDetail": { "$ref": "#/definitions/ErrorDetail", "description": "Error details in last backup" }, "protectedItemDataSourceId": { "description": "Data ID of the protected item.", "type": "string" }, "protectedItemHealthStatus": { "description": "Health status of the backup item, evaluated based on last heartbeat received", "enum": [ "Invalid", "Healthy", "Unhealthy", "NotReachable", "IRPending" ], "type": "string", "x-ms-enum": { "name": "ProtectedItemHealthStatus", "modelAsString": true } }, "extendedInfo": { "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", "description": "Additional information for this backup item." } } }, "AzureVmWorkloadProtectedItemExtendedInfo": { "description": "Additional information on Azure Workload for SQL specific backup item.", "type": "object", "properties": { "oldestRecoveryPoint": { "format": "date-time", "description": "The oldest backup copy available for this backup item.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "Number of backup copies available for this backup item.", "type": "integer" }, "policyState": { "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" } } }, "AzureVmWorkloadProtectionPolicy": { "description": "Azure VM (Mercury) workload-specific backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "workLoadType": { "description": "Type of workload for the backup management", "type": "string" }, "settings": { "$ref": "#/definitions/Settings", "description": "Common settings for the backup management" }, "subProtectionPolicy": { "description": "List of sub-protection policies which includes schedule and retention", "type": "array", "items": { "$ref": "#/definitions/SubProtectionPolicy" } } }, "x-ms-discriminator-value": "AzureWorkload" }, "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { "description": "Azure VM workload-specific protected item representing SAP Hana Database.", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" }, "AzureVmWorkloadSQLDatabaseProtectedItem": { "description": "Azure VM workload-specific protected item representing SQL Database.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the DB represented by this backup item.", "type": "string" }, "serverName": { "description": "Host/Cluster Name for instance or AG", "type": "string" }, "parentName": { "description": "Parent name of the DB such as Instance or Availability Group.", "type": "string" }, "parentType": { "description": "Parent type of DB, SQLAG or StandAlone", "type": "string" }, "protectionStatus": { "description": "Backup status of this backup item.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectionState", "modelAsString": true } }, "lastBackupStatus": { "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", "enum": [ "Invalid", "Healthy", "Unhealthy", "IRPending" ], "type": "string", "x-ms-enum": { "name": "LastBackupStatus", "modelAsString": true } }, "lastBackupTime": { "format": "date-time", "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, "lastBackupErrorDetail": { "$ref": "#/definitions/ErrorDetail", "description": "Error details in last backup" }, "protectedItemDataSourceId": { "description": "Data ID of the protected item.", "type": "string" }, "protectedItemHealthStatus": { "description": "Health status of the backup item, evaluated based on last heartbeat received", "enum": [ "Invalid", "Healthy", "Unhealthy", "NotReachable", "IRPending" ], "type": "string", "x-ms-enum": { "name": "ProtectedItemHealthStatus", "modelAsString": true } }, "extendedInfo": { "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", "description": "Additional information for this backup item." } }, "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" }, "AzureWorkloadAutoProtectionIntent": { "description": "Azure Recovery Services Vault specific protection intent item.", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" } ], "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" }, "AzureWorkloadErrorInfo": { "description": "Azure storage specific error information", "type": "object", "properties": { "errorCode": { "format": "int32", "description": "Error code.", "type": "integer" }, "errorString": { "description": "Localized error string.", "type": "string" }, "errorTitle": { "description": "Title: Typically, the entity that the error pertains to.", "type": "string" }, "recommendations": { "description": "List of localized recommendations for above error code.", "type": "array", "items": { "type": "string" } }, "additionalDetails": { "description": "Additional details for above error code.", "type": "string" } } }, "AzureWorkloadJob": { "description": "Azure storage specific job.", "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], "properties": { "workloadType": { "description": "Workload type of the job", "type": "string" }, "duration": { "format": "duration", "description": "Time elapsed during the execution of this job.", "type": "string" }, "actionsInfo": { "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", "items": { "enum": [ "Invalid", "Cancellable", "Retriable" ], "type": "string", "x-ms-enum": { "name": "JobSupportedAction", "modelAsString": false } } }, "errorDetails": { "description": "Error details on execution of this job.", "type": "array", "items": { "$ref": "#/definitions/AzureWorkloadErrorInfo" } }, "extendedInfo": { "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", "description": "Additional information about the job." } } }, "AzureWorkloadJobExtendedInfo": { "description": "Azure VM workload-specific additional information for job.", "type": "object", "properties": { "tasksList": { "description": "List of tasks for this job", "type": "array", "items": { "$ref": "#/definitions/AzureWorkloadJobTaskDetails" } }, "propertyBag": { "description": "Job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { "description": "Non localized error message on job execution.", "type": "string" } } }, "AzureWorkloadJobTaskDetails": { "description": "Azure VM workload specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, "status": { "description": "The status.", "type": "string" } } }, "AzureWorkloadRestoreRequest": { "description": "AzureWorkload-specific restore.", "type": "object", "allOf": [ { "$ref": "#/definitions/RestoreRequest" } ], "properties": { "recoveryType": { "description": "OLR/ALR, RestoreDisks is invalid option", "enum": [ "Invalid", "OriginalLocation", "AlternateLocation", "RestoreDisks" ], "type": "string", "x-ms-enum": { "name": "RecoveryType", "modelAsString": true } }, "sourceResourceId": { "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", "type": "string" }, "propertyBag": { "description": "Workload specific property bag.", "type": "object", "additionalProperties": { "type": "string" } } }, "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" } ], "properties": { "pointInTime": { "format": "date-time", "description": "PointInTime value", "type": "string" } }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, "AzureWorkloadSAPHanaRestoreRequest": { "description": "AzureWorkload SAP Hana-specific restore.", "type": "object", "allOf": [ { "$ref": "#/definitions/RestoreRequest" } ], "properties": { "targetInfo": { "$ref": "#/definitions/TargetRestoreInfo", "description": "Details of target database" }, "recoveryType": { "description": "OLR/ALR, RestoreDisks is invalid option", "enum": [ "Invalid", "OriginalLocation", "AlternateLocation", "RestoreDisks" ], "type": "string", "x-ms-enum": { "name": "RecoveryType", "modelAsString": true } }, "sourceResourceId": { "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", "type": "string" }, "propertyBag": { "description": "Workload specific property bag.", "type": "object", "additionalProperties": { "type": "string" } } }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" }, "AzureWorkloadSQLAutoProtectionIntent": { "description": "Azure Workload SQL Auto Protection intent item.", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" } ], "properties": { "workloadItemType": { "description": "Workload item type of the item for which intent is to be set", "enum": [ "Invalid", "SQLInstance", "SQLDataBase", "SAPHanaSystem", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "WorkloadItemType", "modelAsString": true } } }, "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" }, "AzureWorkloadSQLPointInTimeRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" } ], "properties": { "pointInTime": { "format": "date-time", "description": "PointInTime value", "type": "string" } }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, "AzureWorkloadSQLRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", "type": "object", "allOf": [ { "$ref": "#/definitions/AzureWorkloadRestoreRequest" } ], "properties": { "shouldUseAlternateTargetLocation": { "description": "Default option set to true. If this is set to false, alternate data directory must be provided", "type": "boolean" }, "isNonRecoverable": { "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", "type": "boolean" }, "targetInfo": { "$ref": "#/definitions/TargetRestoreInfo", "description": "Details of target database" }, "alternateDirectoryPaths": { "description": "Data directory details", "type": "array", "items": { "$ref": "#/definitions/SQLDataDirectoryMapping" } } }, "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" }, "BackupManagementUsage": { "description": "Backup management usages of a vault.", "type": "object", "properties": { "unit": { "description": "Unit of the usage.", "enum": [ "Count", "Bytes", "Seconds", "Percent", "CountPerSecond", "BytesPerSecond" ], "type": "string", "x-ms-enum": { "name": "UsagesUnit", "modelAsString": true } }, "quotaPeriod": { "description": "Quota period of usage.", "type": "string" }, "nextResetTime": { "format": "date-time", "description": "Next reset time of usage.", "type": "string" }, "currentValue": { "format": "int64", "description": "Current value of usage.", "type": "integer" }, "limit": { "format": "int64", "description": "Limit of usage.", "type": "integer" }, "name": { "$ref": "#/definitions/NameInfo", "description": "Name of usage." } } }, "BackupManagementUsageList": { "description": "Backup management usage for vault.", "type": "object", "properties": { "value": { "description": "The list of backup management usages for the given vault.", "type": "array", "items": { "$ref": "#/definitions/BackupManagementUsage" } } } }, "BackupStatusRequest": { "description": "BackupStatus request.", "type": "object", "properties": { "resourceType": { "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "DataSourceType", "modelAsString": true } }, "resourceId": { "description": "Entire ARM resource id of the resource", "type": "string" }, "poLogicalName": { "description": "Protectable Item Logical Name", "type": "string" } } }, "BackupStatusResponse": { "description": "BackupStatus response.", "type": "object", "properties": { "protectionStatus": { "description": "Specifies whether the container is registered or not", "enum": [ "Invalid", "NotProtected", "Protecting", "Protected", "ProtectionFailed" ], "type": "string", "x-ms-enum": { "name": "ProtectionStatus", "modelAsString": true } }, "vaultId": { "description": "Specifies the arm resource id of the vault", "type": "string" }, "fabricName": { "description": "Specifies the fabric name - Azure or AD", "enum": [ "Invalid", "Azure" ], "type": "string", "x-ms-enum": { "name": "FabricName", "modelAsString": true } }, "containerName": { "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", "type": "string" }, "protectedItemName": { "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", "type": "string" }, "errorCode": { "description": "ErrorCode in case of intent failed", "type": "string" }, "errorMessage": { "description": "ErrorMessage in case of intent failed.", "type": "string" }, "policyName": { "description": "Specifies the policy name which is used for protection", "type": "string" }, "registrationStatus": { "description": "Container registration status", "type": "string" } } }, "BMSBackupSummariesQueryObject": { "description": "Query parameters to fetch backup summaries.", "type": "object", "properties": { "type": { "description": "Backup management type for this container.", "enum": [ "Invalid", "BackupProtectedItemCountSummary", "BackupProtectionContainerCountSummary" ], "type": "string", "x-ms-enum": { "name": "Type", "modelAsString": true } } } }, "DailyRetentionFormat": { "description": "Daily retention format.", "type": "object", "properties": { "daysOfTheMonth": { "description": "List of days of the month.", "type": "array", "items": { "$ref": "#/definitions/Day" } } } }, "DailyRetentionSchedule": { "description": "Daily retention schedule.", "type": "object", "properties": { "retentionTimes": { "description": "Retention times of retention policy.", "type": "array", "items": { "format": "date-time", "type": "string" } }, "retentionDuration": { "$ref": "#/definitions/RetentionDuration", "description": "Retention duration of retention Policy." } } }, "Day": { "description": "Day of the week.", "type": "object", "properties": { "date": { "format": "int32", "description": "Date of the month", "type": "integer" }, "isLast": { "description": "Whether Date is last date of month", "type": "boolean" } } }, "DpmErrorInfo": { "description": "DPM workload-specific error information.", "type": "object", "properties": { "errorString": { "description": "Localized error string.", "type": "string" }, "recommendations": { "description": "List of localized recommendations for above error code.", "type": "array", "items": { "type": "string" } } } }, "DpmJob": { "description": "DPM workload-specifc job object.", "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], "properties": { "duration": { "format": "duration", "description": "Time elapsed for job.", "type": "string" }, "dpmServerName": { "description": "DPM server name managing the backup item or backup job.", "type": "string" }, "containerName": { "description": "Name of cluster/server protecting current backup item, if any.", "type": "string" }, "containerType": { "description": "Type of container.", "type": "string" }, "workloadType": { "description": "Type of backup item.", "type": "string" }, "actionsInfo": { "description": "The state/actions applicable on this job like cancel/retry.", "type": "array", "items": { "enum": [ "Invalid", "Cancellable", "Retriable" ], "type": "string", "x-ms-enum": { "name": "JobSupportedAction", "modelAsString": false } } }, "errorDetails": { "description": "The errors.", "type": "array", "items": { "$ref": "#/definitions/DpmErrorInfo" } }, "extendedInfo": { "$ref": "#/definitions/DpmJobExtendedInfo", "description": "Additional information for this job." } }, "x-ms-discriminator-value": "DpmJob" }, "DpmJobExtendedInfo": { "description": "Additional information on the DPM workload-specific job.", "type": "object", "properties": { "tasksList": { "description": "List of tasks associated with this job.", "type": "array", "items": { "$ref": "#/definitions/DpmJobTaskDetails" } }, "propertyBag": { "description": "The job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { "description": "Non localized error message on job execution.", "type": "string" } } }, "DpmJobTaskDetails": { "description": "DPM workload-specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, "startTime": { "format": "date-time", "description": "The start time.", "type": "string" }, "endTime": { "format": "date-time", "description": "The end time.", "type": "string" }, "duration": { "format": "duration", "description": "Time elapsed for task.", "type": "string" }, "status": { "description": "The status.", "type": "string" } } }, "DPMProtectedItem": { "description": "Additional information on Backup engine specific backup item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the managed item", "type": "string" }, "backupEngineName": { "description": "Backup Management server protecting this backup item", "type": "string" }, "protectionState": { "description": "Protection state of the backupengine", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectedItemState", "modelAsString": true } }, "isScheduledForDeferredDelete": { "description": "To check if backup item is scheduled for deferred delete", "type": "boolean" }, "extendedInfo": { "$ref": "#/definitions/DPMProtectedItemExtendedInfo", "description": "Extended info of the backup item." } }, "x-ms-discriminator-value": "DPMProtectedItem" }, "DPMProtectedItemExtendedInfo": { "description": "Additional information of DPM Protected item.", "type": "object", "properties": { "protectableObjectLoadPath": { "description": "Attribute to provide information on various DBs.", "type": "object", "additionalProperties": { "type": "string" } }, "protected": { "description": "To check if backup item is disk protected.", "type": "boolean" }, "isPresentOnCloud": { "description": "To check if backup item is cloud protected.", "type": "boolean" }, "lastBackupStatus": { "description": "Last backup status information on backup item.", "type": "string" }, "lastRefreshedAt": { "format": "date-time", "description": "Last refresh time on backup item.", "type": "string" }, "oldestRecoveryPoint": { "format": "date-time", "description": "Oldest cloud recovery point time.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "cloud recovery point count.", "type": "integer" }, "onPremiseOldestRecoveryPoint": { "format": "date-time", "description": "Oldest disk recovery point time.", "type": "string" }, "onPremiseLatestRecoveryPoint": { "format": "date-time", "description": "latest disk recovery point time.", "type": "string" }, "onPremiseRecoveryPointCount": { "format": "int32", "description": "disk recovery point count.", "type": "integer" }, "isCollocated": { "description": "To check if backup item is collocated.", "type": "boolean" }, "protectionGroupName": { "description": "Protection group name of the backup item.", "type": "string" }, "diskStorageUsedInBytes": { "description": "Used Disk storage in bytes.", "type": "string" }, "totalDiskStorageSizeInBytes": { "description": "total Disk storage in bytes.", "type": "string" } } }, "EncryptionDetails": { "description": "Details needed if the VM was encrypted at the time of backup.", "type": "object", "properties": { "encryptionEnabled": { "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", "type": "boolean" }, "kekUrl": { "description": "Key Url.", "type": "string" }, "secretKeyUrl": { "description": "Secret Url.", "type": "string" }, "kekVaultId": { "description": "ID of Key Vault where KEK is stored.", "type": "string" }, "secretKeyVaultId": { "description": "ID of Key Vault where Secret is stored.", "type": "string" } } }, "ErrorDetail": { "description": "Error Detail class which encapsulates Code, Message and Recommendations.", "type": "object", "properties": { "code": { "description": "Error code.", "type": "string" }, "message": { "description": "Error Message related to the Code.", "type": "string" }, "recommendations": { "description": "List of recommendation strings.", "type": "array", "items": { "type": "string" } } } }, "ExportJobsOperationResultInfo": { "description": "This class is used to send blob details after exporting jobs.", "type": "object", "allOf": [ { "$ref": "#/definitions/OperationResultInfoBase" } ], "properties": { "blobUrl": { "description": "URL of the blob into which the serialized string of list of jobs is exported.", "type": "string" }, "blobSasKey": { "description": "SAS key to access the blob. It expires in 15 mins.", "type": "string" } }, "x-ms-discriminator-value": "ExportJobsOperationResultInfo" }, "FeatureSupportRequest": { "description": "Base class for feature request", "type": "object", "properties": { "featureType": { "description": "backup support feature type.", "type": "string" } }, "discriminator": "featureType" }, "GenericProtectedItem": { "description": "Base class for backup items.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of the container.", "type": "string" }, "policyState": { "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "IRPending", "Protected", "ProtectionError", "ProtectionStopped", "ProtectionPaused" ], "type": "string", "x-ms-enum": { "name": "ProtectionState", "modelAsString": true } }, "protectedItemId": { "format": "int64", "description": "Data Plane Service ID of the protected item.", "type": "integer" }, "sourceAssociations": { "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", "type": "object", "additionalProperties": { "type": "string" } }, "fabricName": { "description": "Name of this backup item's fabric.", "type": "string" } }, "x-ms-discriminator-value": "GenericProtectedItem" }, "GenericProtectionPolicy": { "description": "Azure VM (Mercury) workload-specific backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "subProtectionPolicy": { "description": "List of sub-protection policies which includes schedule and retention", "type": "array", "items": { "$ref": "#/definitions/SubProtectionPolicy" } }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" }, "fabricName": { "description": "Name of this policy's fabric.", "type": "string" } }, "x-ms-discriminator-value": "GenericProtectionPolicy" }, "IaasVMRestoreRequest": { "description": "IaaS VM workload-specific restore.", "type": "object", "allOf": [ { "$ref": "#/definitions/RestoreRequest" } ], "properties": { "recoveryPointId": { "description": "ID of the backup copy to be recovered.", "type": "string" }, "recoveryType": { "description": "Type of this recovery.", "enum": [ "Invalid", "OriginalLocation", "AlternateLocation", "RestoreDisks" ], "type": "string", "x-ms-enum": { "name": "RecoveryType", "modelAsString": true } }, "sourceResourceId": { "description": "Fully qualified ARM ID of the VM which is being recovered.", "type": "string" }, "targetVirtualMachineId": { "description": "This is the complete ARM Id of the VM that will be created.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", "type": "string" }, "targetResourceGroupId": { "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}", "type": "string" }, "storageAccountId": { "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", "type": "string" }, "virtualNetworkId": { "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\n User will be validated for join action permissions in the linked access.", "type": "string" }, "subnetId": { "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\n the subnet.", "type": "string" }, "targetDomainNameId": { "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\n Virtual Machines.", "type": "string" }, "region": { "description": "Region in which the virtual machine is restored.", "type": "string" }, "affinityGroup": { "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", "type": "string" }, "createNewCloudService": { "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\n cloud service as it was at the time of backup.", "type": "boolean" }, "originalStorageAccountOption": { "description": "Original Storage Account Option", "type": "boolean" }, "encryptionDetails": { "$ref": "#/definitions/EncryptionDetails", "description": "Details needed if the VM was encrypted at the time of backup." } }, "x-ms-discriminator-value": "IaasVMRestoreRequest" }, "Job": { "description": "Defines workload agnostic properties for a job.", "required": [ "jobType" ], "type": "object", "properties": { "entityFriendlyName": { "description": "Friendly name of the entity on which the current job is executing.", "type": "string" }, "backupManagementType": { "description": "Backup management type to execute the current job.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "operation": { "description": "The operation name.", "type": "string" }, "status": { "description": "Job status.", "type": "string" }, "startTime": { "format": "date-time", "description": "The start time.", "type": "string" }, "endTime": { "format": "date-time", "description": "The end time.", "type": "string" }, "activityId": { "description": "ActivityId of job.", "type": "string" }, "jobType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "jobType" }, "JobQueryObject": { "description": "Filters to list the jobs.", "type": "object", "properties": { "status": { "description": "Status of the job.", "enum": [ "Invalid", "InProgress", "Completed", "Failed", "CompletedWithWarnings", "Cancelled", "Cancelling" ], "type": "string", "x-ms-enum": { "name": "JobStatus", "modelAsString": true } }, "backupManagementType": { "description": "Type of backup managmenent for the job.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "operation": { "description": "Type of operation.", "enum": [ "Invalid", "Register", "UnRegister", "ConfigureBackup", "Backup", "Restore", "DisableBackup", "DeleteBackupData" ], "type": "string", "x-ms-enum": { "name": "JobOperationType", "modelAsString": true } }, "jobId": { "description": "JobID represents the job uniquely.", "type": "string" }, "startTime": { "format": "date-time", "description": "Job has started at this time. Value is in UTC.", "type": "string" }, "endTime": { "format": "date-time", "description": "Job has ended at this time. Value is in UTC.", "type": "string" } } }, "JobResource": { "description": "Defines workload agnostic properties for a job.", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/Job", "description": "JobResource properties" } } }, "JobResourceList": { "description": "List of Job resources", "type": "object", "allOf": [ { "$ref": "#/definitions/ResourceList" } ], "properties": { "value": { "description": "List of resources.", "type": "array", "items": { "$ref": "#/definitions/JobResource" } } } }, "LogSchedulePolicy": { "description": "Log policy schedule.", "type": "object", "allOf": [ { "$ref": "#/definitions/SchedulePolicy" } ], "properties": { "scheduleFrequencyInMins": { "format": "int32", "description": "Frequency of the log schedule operation of this policy in minutes.", "type": "integer" } }, "x-ms-discriminator-value": "LogSchedulePolicy" }, "LongTermRetentionPolicy": { "description": "Long term retention policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/RetentionPolicy" } ], "properties": { "dailySchedule": { "$ref": "#/definitions/DailyRetentionSchedule", "description": "Daily retention schedule of the protection policy." }, "weeklySchedule": { "$ref": "#/definitions/WeeklyRetentionSchedule", "description": "Weekly retention schedule of the protection policy." }, "monthlySchedule": { "$ref": "#/definitions/MonthlyRetentionSchedule", "description": "Monthly retention schedule of the protection policy." }, "yearlySchedule": { "$ref": "#/definitions/YearlyRetentionSchedule", "description": "Yearly retention schedule of the protection policy." } }, "x-ms-discriminator-value": "LongTermRetentionPolicy" }, "LongTermSchedulePolicy": { "description": "Long term policy schedule.", "type": "object", "allOf": [ { "$ref": "#/definitions/SchedulePolicy" } ] }, "MabErrorInfo": { "description": "MAB workload-specific error information.", "type": "object", "properties": { "errorString": { "description": "Localized error string.", "type": "string" }, "recommendations": { "description": "List of localized recommendations.", "type": "array", "items": { "type": "string" } } } }, "MabFileFolderProtectedItem": { "description": "MAB workload-specific backup item.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectedItem" } ], "properties": { "friendlyName": { "description": "Friendly name of this backup item.", "type": "string" }, "computerName": { "description": "Name of the computer associated with this backup item.", "type": "string" }, "lastBackupStatus": { "description": "Status of last backup operation.", "type": "string" }, "protectionState": { "description": "Protected, ProtectionStopped, IRPending or ProtectionError", "type": "string" }, "isScheduledForDeferredDelete": { "description": "Specifies if the item is scheduled for deferred deletion.", "type": "boolean" }, "deferredDeleteSyncTimeInUTC": { "format": "int64", "description": "Sync time for deferred deletion.", "type": "integer" }, "extendedInfo": { "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", "description": "Additional information with this backup item." } }, "x-ms-discriminator-value": "MabFileFolderProtectedItem" }, "MabFileFolderProtectedItemExtendedInfo": { "description": "Additional information on the backed up item.", "type": "object", "properties": { "lastRefreshedAt": { "format": "date-time", "description": "Last time when the agent data synced to service.", "type": "string" }, "oldestRecoveryPoint": { "format": "date-time", "description": "The oldest backup copy available.", "type": "string" }, "recoveryPointCount": { "format": "int32", "description": "Number of backup copies associated with the backup item.", "type": "integer" } } }, "MabJob": { "description": "MAB workload-specific job.", "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], "properties": { "duration": { "format": "duration", "description": "Time taken by job to run.", "type": "string" }, "actionsInfo": { "description": "The state/actions applicable on jobs like cancel/retry.", "type": "array", "items": { "enum": [ "Invalid", "Cancellable", "Retriable" ], "type": "string", "x-ms-enum": { "name": "JobSupportedAction", "modelAsString": false } } }, "mabServerName": { "description": "Name of server protecting the DS.", "type": "string" }, "mabServerType": { "description": "Server type of MAB container.", "enum": [ "Invalid", "Unknown", "IaasVMContainer", "IaasVMServiceContainer", "DPMContainer", "AzureBackupServerContainer", "MABContainer", "Cluster", "AzureSqlContainer", "Windows", "VCenter", "VMAppContainer", "SQLAGWorkLoadContainer", "StorageContainer", "GenericContainer" ], "type": "string", "x-ms-enum": { "name": "MabServerType", "modelAsString": true } }, "workloadType": { "description": "Workload type of backup item.", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "WorkloadType", "modelAsString": true } }, "errorDetails": { "description": "The errors.", "type": "array", "items": { "$ref": "#/definitions/MabErrorInfo" } }, "extendedInfo": { "$ref": "#/definitions/MabJobExtendedInfo", "description": "Additional information on the job." } }, "x-ms-discriminator-value": "MabJob" }, "MabJobExtendedInfo": { "description": "Additional information for the MAB workload-specific job.", "type": "object", "properties": { "tasksList": { "description": "List of tasks for this job.", "type": "array", "items": { "$ref": "#/definitions/MabJobTaskDetails" } }, "propertyBag": { "description": "The job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { "description": "Non localized error message specific to this job.", "type": "string" } } }, "MabJobTaskDetails": { "description": "MAB workload-specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, "startTime": { "format": "date-time", "description": "The start time.", "type": "string" }, "endTime": { "format": "date-time", "description": "The end time.", "type": "string" }, "duration": { "format": "duration", "description": "Time elapsed for task.", "type": "string" }, "status": { "description": "The status.", "type": "string" } } }, "MabProtectionPolicy": { "description": "Mab container-specific backup policy.", "type": "object", "allOf": [ { "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { "schedulePolicy": { "$ref": "#/definitions/SchedulePolicy", "description": "Backup schedule of backup policy." }, "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy details." } }, "x-ms-discriminator-value": "MAB" }, "MonthlyRetentionSchedule": { "description": "Monthly retention schedule.", "type": "object", "properties": { "retentionScheduleFormatType": { "description": "Retention schedule format type for monthly retention policy.", "enum": [ "Invalid", "Daily", "Weekly" ], "type": "string", "x-ms-enum": { "name": "RetentionScheduleFormat", "modelAsString": true } }, "retentionScheduleDaily": { "$ref": "#/definitions/DailyRetentionFormat", "description": "Daily retention format for monthly retention policy." }, "retentionScheduleWeekly": { "$ref": "#/definitions/WeeklyRetentionFormat", "description": "Weekly retention format for monthly retention policy." }, "retentionTimes": { "description": "Retention times of retention policy.", "type": "array", "items": { "format": "date-time", "type": "string" } }, "retentionDuration": { "$ref": "#/definitions/RetentionDuration", "description": "Retention duration of retention Policy." } } }, "NameInfo": { "description": "The name of usage.", "type": "object", "properties": { "value": { "description": "Value of usage.", "type": "string" }, "localizedValue": { "description": "Localized value of usage.", "type": "string" } } }, "Object": { "description": "Base of all objects.", "type": "object" }, "OperationResultInfo": { "description": "Operation result info.", "type": "object", "allOf": [ { "$ref": "#/definitions/OperationResultInfoBase" } ], "properties": { "jobList": { "description": "List of jobs created by this operation.", "type": "array", "items": { "type": "string" } } }, "x-ms-discriminator-value": "OperationResultInfo" }, "OperationResultInfoBase": { "description": "Base class for operation result info.", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "objectType" }, "OperationResultInfoBaseResource": { "description": "Base class for operation result info.", "allOf": [ { "$ref": "#/definitions/OperationWorkerResponse" } ], "properties": { "operation": { "$ref": "#/definitions/OperationResultInfoBase", "description": "OperationResultInfoBaseResource operation" } } }, "OperationWorkerResponse": { "description": "This is the base class for operation result responses.", "type": "object", "properties": { "statusCode": { "description": "HTTP Status Code of the operation.", "enum": [ "Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported" ], "type": "string", "x-ms-enum": { "name": "HttpStatusCode", "modelAsString": false } }, "headers": { "description": "HTTP headers associated with this operation.", "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } } } }, "PreValidateEnableBackupRequest": { "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\n It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.", "type": "object", "properties": { "resourceType": { "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "DataSourceType", "modelAsString": true } }, "resourceId": { "description": "ARM Virtual Machine Id", "type": "string" }, "vaultId": { "description": "ARM id of the Recovery Services Vault", "type": "string" }, "properties": { "description": "Configuration of VM if any needs to be validated like OS type etc", "type": "string" } } }, "PreValidateEnableBackupResponse": { "description": "Response contract for enable backup validation request", "type": "object", "properties": { "status": { "description": "Validation Status", "enum": [ "Invalid", "Succeeded", "Failed" ], "type": "string", "x-ms-enum": { "name": "ValidationStatus", "modelAsString": true } }, "errorCode": { "description": "Response error code", "type": "string" }, "errorMessage": { "description": "Response error message", "type": "string" }, "recommendation": { "description": "Recommended action for user", "type": "string" }, "containerName": { "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\n for portal", "type": "string" }, "protectedItemName": { "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", "type": "string" } } }, "ProtectedItem": { "description": "Base class for backup items.", "type": "object", "properties": { "protectedItemType": { "description": "backup item type.", "type": "string" }, "backupManagementType": { "description": "Type of backup managemenent for the backed up item.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "workloadType": { "description": "Type of workload this item represents.", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "DataSourceType", "modelAsString": true } }, "containerName": { "description": "Unique name of container", "type": "string" }, "sourceResourceId": { "description": "ARM ID of the resource to be backed up.", "type": "string" }, "policyId": { "description": "ID of the backup policy with which this item is backed up.", "type": "string" }, "lastRecoveryPoint": { "format": "date-time", "description": "Timestamp when the last (latest) backup copy was created for this backup item.", "type": "string" }, "backupSetName": { "description": "Name of the backup set the backup item belongs to", "type": "string" }, "createMode": { "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", "enum": [ "Invalid", "Default", "Recover" ], "type": "string", "x-ms-enum": { "name": "CreateMode", "modelAsString": true } } }, "discriminator": "protectedItemType" }, "ProtectedItemQueryObject": { "description": "Filters to list backup items.", "type": "object", "properties": { "healthState": { "description": "Health State for the backed up item.", "enum": [ "Passed", "ActionRequired", "ActionSuggested", "Invalid" ], "type": "string", "x-ms-enum": { "name": "HealthState", "modelAsString": true } }, "backupManagementType": { "description": "Backup management type for the backed up item.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "itemType": { "description": "Type of workload this item represents.", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "DataSourceType", "modelAsString": true } }, "policyName": { "description": "Backup policy name associated with the backup item.", "type": "string" }, "containerName": { "description": "Name of the container.", "type": "string" }, "backupEngineName": { "description": "Backup Engine name", "type": "string" }, "friendlyName": { "description": "Friendly name of protected item", "type": "string" }, "fabricName": { "description": "Name of the fabric.", "type": "string" }, "backupSetName": { "description": "Name of the backup set.", "type": "string" } } }, "ProtectedItemResource": { "description": "Base class for backup items.", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/ProtectedItem", "description": "ProtectedItemResource properties" } } }, "ProtectedItemResourceList": { "description": "List of ProtectedItem resources", "type": "object", "allOf": [ { "$ref": "#/definitions/ResourceList" } ], "properties": { "value": { "description": "List of resources.", "type": "array", "items": { "$ref": "#/definitions/ProtectedItemResource" } } } }, "ProtectionIntent": { "description": "Base class for backup ProtectionIntent.", "type": "object", "properties": { "protectionIntentItemType": { "description": "backup protectionIntent type.", "type": "string" }, "backupManagementType": { "description": "Type of backup managemenent for the backed up item.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "sourceResourceId": { "description": "ARM ID of the resource to be backed up.", "type": "string" }, "itemId": { "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", "type": "string" }, "policyId": { "description": "ID of the backup policy with which this item is backed up.", "type": "string" }, "protectionState": { "description": "Backup state of this backup item.", "enum": [ "Invalid", "NotProtected", "Protecting", "Protected", "ProtectionFailed" ], "type": "string", "x-ms-enum": { "name": "ProtectionStatus", "modelAsString": true } } }, "discriminator": "protectionIntentItemType" }, "ProtectionIntentResource": { "description": "Base class for backup ProtectionIntent.", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/ProtectionIntent", "description": "ProtectionIntentResource properties" } } }, "ProtectionPolicy": { "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "required": [ "backupManagementType" ], "type": "object", "properties": { "protectedItemsCount": { "format": "int32", "description": "Number of items associated with this policy.", "type": "integer" }, "backupManagementType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "backupManagementType" }, "ProtectionPolicyQueryObject": { "description": "Filters the list backup policies API.", "type": "object", "properties": { "backupManagementType": { "description": "Backup management type for the backup policy.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", "AzureSql", "AzureStorage", "AzureWorkload", "DefaultBackup" ], "type": "string", "x-ms-enum": { "name": "BackupManagementType", "modelAsString": true } }, "fabricName": { "description": "Fabric name for filter", "type": "string" }, "workloadType": { "description": "Workload type for the backup policy.", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare", "SAPHanaDatabase" ], "type": "string", "x-ms-enum": { "name": "WorkloadType", "modelAsString": true } } } }, "ProtectionPolicyResource": { "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/ProtectionPolicy", "description": "ProtectionPolicyResource properties" } } }, "ProtectionPolicyResourceList": { "description": "List of ProtectionPolicy resources", "type": "object", "allOf": [ { "$ref": "#/definitions/ResourceList" } ], "properties": { "value": { "description": "List of resources.", "type": "array", "items": { "$ref": "#/definitions/ProtectionPolicyResource" } } } }, "Resource": { "description": "ARM Resource.", "type": "object", "properties": { "id": { "description": "Resource Id represents the complete path to the resource.", "type": "string", "readOnly": true }, "name": { "description": "Resource name associated with the resource.", "type": "string", "readOnly": true }, "type": { "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", "type": "string", "readOnly": true }, "location": { "description": "Resource location.", "type": "string" }, "tags": { "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } }, "eTag": { "description": "Optional ETag.", "type": "string" } }, "x-ms-azure-resource": true }, "ResourceList": { "description": "Base for all lists of resources.", "type": "object", "properties": { "nextLink": { "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", "type": "string" } } }, "RestoreFileSpecs": { "description": "Restore file specs like file path, type and target folder path info.", "type": "object", "properties": { "path": { "description": "Source File/Folder path", "type": "string" }, "fileSpecType": { "description": "Indicates what the Path variable stands for", "type": "string" }, "targetFolderPath": { "description": "Destination folder path in target FileShare", "type": "string" } } }, "RestoreRequest": { "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "objectType" }, "RetentionDuration": { "description": "Retention duration.", "type": "object", "properties": { "count": { "format": "int32", "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", "type": "integer" }, "durationType": { "description": "Retention duration type of retention policy.", "enum": [ "Invalid", "Days", "Weeks", "Months", "Years" ], "type": "string", "x-ms-enum": { "name": "RetentionDurationType", "modelAsString": true } } } }, "RetentionPolicy": { "description": "Base class for retention policy.", "required": [ "retentionPolicyType" ], "type": "object", "properties": { "retentionPolicyType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "retentionPolicyType" }, "SchedulePolicy": { "description": "Base class for backup schedule.", "required": [ "schedulePolicyType" ], "type": "object", "properties": { "schedulePolicyType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "schedulePolicyType" }, "Settings": { "description": "Common settings field for backup management", "type": "object", "properties": { "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" }, "issqlcompression": { "description": "SQL compression flag", "type": "boolean" }, "isCompression": { "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\n will be deprecated once clients upgrade to consider this flag.", "type": "boolean" } } }, "SimpleRetentionPolicy": { "description": "Simple policy retention.", "type": "object", "allOf": [ { "$ref": "#/definitions/RetentionPolicy" } ], "properties": { "retentionDuration": { "$ref": "#/definitions/RetentionDuration", "description": "Retention duration of the protection policy." } }, "x-ms-discriminator-value": "SimpleRetentionPolicy" }, "SimpleSchedulePolicy": { "description": "Simple policy schedule.", "type": "object", "allOf": [ { "$ref": "#/definitions/SchedulePolicy" } ], "properties": { "scheduleRunFrequency": { "description": "Frequency of the schedule operation of this policy.", "enum": [ "Invalid", "Daily", "Weekly" ], "type": "string", "x-ms-enum": { "name": "ScheduleRunType", "modelAsString": true } }, "scheduleRunDays": { "description": "List of days of week this schedule has to be run.", "type": "array", "items": { "enum": [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], "type": "string", "x-ms-enum": { "name": "DayOfWeek", "modelAsString": false } } }, "scheduleRunTimes": { "description": "List of times of day this schedule has to be run.", "type": "array", "items": { "format": "date-time", "type": "string" } }, "scheduleWeeklyFrequency": { "format": "int32", "description": "At every number weeks this schedule has to be run.", "type": "integer" } }, "x-ms-discriminator-value": "SimpleSchedulePolicy" }, "SQLDataDirectoryMapping": { "description": "Encapsulates information regarding data directory", "type": "object", "properties": { "mappingType": { "description": "Type of data directory mapping", "enum": [ "Invalid", "Data", "Log" ], "type": "string", "x-ms-enum": { "name": "SQLDataDirectoryType", "modelAsString": true } }, "sourceLogicalName": { "description": "Restore source logical name path", "type": "string" }, "sourcePath": { "description": "Restore source path", "type": "string" }, "targetPath": { "description": "Target path", "type": "string" } } }, "SubProtectionPolicy": { "description": "Sub-protection policy which includes schedule and retention", "type": "object", "properties": { "policyType": { "description": "Type of backup policy type", "type": "string" }, "schedulePolicy": { "$ref": "#/definitions/SchedulePolicy", "description": "Backup schedule specified as part of backup policy." }, "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." } } }, "TargetAFSRestoreInfo": { "description": "Target Azure File Share Info.", "type": "object", "properties": { "name": { "description": "File share name", "type": "string" }, "targetResourceId": { "description": "Target file share resource ARM ID", "type": "string" } } }, "TargetRestoreInfo": { "description": "Details about target workload during restore operation.", "type": "object", "properties": { "overwriteOption": { "description": "Can Overwrite if Target DataBase already exists", "enum": [ "Invalid", "FailOnConflict", "Overwrite" ], "type": "string", "x-ms-enum": { "name": "OverwriteOptions", "modelAsString": true } }, "containerId": { "description": "Resource Id name of the container in which Target DataBase resides", "type": "string" }, "databaseName": { "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", "type": "string" } } }, "ValidateIaasVMRestoreOperationRequest": { "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { "$ref": "#/definitions/ValidateRestoreOperationRequest" } ], "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" }, "ValidateOperationRequest": { "description": "Base class for validate operation request.", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", "type": "string" } }, "discriminator": "objectType" }, "ValidateOperationResponse": { "description": "Base class for validate operation response.", "type": "object", "properties": { "validationResults": { "description": "Gets the validation result", "type": "array", "items": { "$ref": "#/definitions/ErrorDetail" } } } }, "ValidateOperationsResponse": { "type": "object", "properties": { "validateOperationResponse": { "$ref": "#/definitions/ValidateOperationResponse" } } }, "ValidateRestoreOperationRequest": { "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { "$ref": "#/definitions/ValidateOperationRequest" } ], "properties": { "restoreRequest": { "$ref": "#/definitions/RestoreRequest", "description": "Sets restore request to be validated" } }, "x-ms-discriminator-value": "ValidateRestoreOperationRequest" }, "WeeklyRetentionFormat": { "description": "Weekly retention format.", "type": "object", "properties": { "daysOfTheWeek": { "description": "List of days of the week.", "type": "array", "items": { "enum": [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], "type": "string", "x-ms-enum": { "name": "DayOfWeek", "modelAsString": false } } }, "weeksOfTheMonth": { "description": "List of weeks of month.", "type": "array", "items": { "enum": [ "First", "Second", "Third", "Fourth", "Last", "Invalid" ], "type": "string", "x-ms-enum": { "name": "WeekOfMonth", "modelAsString": false } } } } }, "WeeklyRetentionSchedule": { "description": "Weekly retention schedule.", "type": "object", "properties": { "daysOfTheWeek": { "description": "List of days of week for weekly retention policy.", "type": "array", "items": { "enum": [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], "type": "string", "x-ms-enum": { "name": "DayOfWeek", "modelAsString": false } } }, "retentionTimes": { "description": "Retention times of retention policy.", "type": "array", "items": { "format": "date-time", "type": "string" } }, "retentionDuration": { "$ref": "#/definitions/RetentionDuration", "description": "Retention duration of retention Policy." } } }, "YearlyRetentionSchedule": { "description": "Yearly retention schedule.", "type": "object", "properties": { "retentionScheduleFormatType": { "description": "Retention schedule format for yearly retention policy.", "enum": [ "Invalid", "Daily", "Weekly" ], "type": "string", "x-ms-enum": { "name": "RetentionScheduleFormat", "modelAsString": true } }, "monthsOfYear": { "description": "List of months of year of yearly retention policy.", "type": "array", "items": { "enum": [ "Invalid", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], "type": "string", "x-ms-enum": { "name": "MonthOfYear", "modelAsString": false } } }, "retentionScheduleDaily": { "$ref": "#/definitions/DailyRetentionFormat", "description": "Daily retention format for yearly retention policy." }, "retentionScheduleWeekly": { "$ref": "#/definitions/WeeklyRetentionFormat", "description": "Weekly retention format for yearly retention policy." }, "retentionTimes": { "description": "Retention times of retention policy.", "type": "array", "items": { "format": "date-time", "type": "string" } }, "retentionDuration": { "$ref": "#/definitions/RetentionDuration", "description": "Retention duration of retention Policy." } } } }, "parameters": { "SubscriptionId": { "name": "subscriptionId", "in": "path", "description": "The subscription Id.", "required": true, "type": "string" }, "AzureRegion": { "name": "azureRegion", "in": "path", "description": "Azure region to hit Api", "required": true, "x-ms-parameter-location": "method", "type": "string" }, "ApiVersion": { "name": "api-version", "in": "query", "description": "Client Api Version.", "required": true, "type": "string" }, "ResourceGroupName": { "name": "resourceGroupName", "in": "path", "description": "The name of the resource group where the recovery services vault is present.", "required": true, "x-ms-parameter-location": "method", "type": "string" }, "VaultName": { "name": "vaultName", "in": "path", "description": "The name of the recovery services vault.", "required": true, "x-ms-parameter-location": "method", "type": "string" } }, "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account." } } }, "security": [ { "azure_auth": [ "user_impersonation" ] } ] }