{ "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 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 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" } } } } }, "definitions": { "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" }, "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" } }, "progressPercentage": { "format": "double", "description": "Indicates progress of the job. Null if it has not started or completed.", "type": "number" }, "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" } } }, "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." }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" } }, "x-ms-discriminator-value": "AzureIaasVM" }, "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 } } } }, "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" }, "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" }, "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": { "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" } } }, "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" ], "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 AAD", "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. This is required for portal", "type": "string" }, "protectedItemName": { "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname. This is required for portal", "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" } } }, "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" }, "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" ], "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": "Container Type - VM, SQLPaaS, DPM etc", "enum": [ "Invalid", "VM", "FileFolder", "AzureSqlDb", "SQLDB", "Exchange", "Sharepoint", "VMwareVM", "SystemState", "Client", "GenericDataSource", "SQLDataBase", "AzureFileShare" ], "type": "string", "x-ms-enum": { "name": "DataSourceType", "modelAsString": true } }, "resourceId": { "description": "Entire ARM VM Id", "type": "string" }, "vaultId": { "description": "Entire vault id of the resource", "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 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" ], "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" } }, "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" ], "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" } } }, "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" } } }, "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" } } }, "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" }, "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." } } }, "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" ], "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" ] } ] }