{ "swagger": "2.0", "info": { "version": "2021-01-01", "title": "DataProtectionBackupClient", "x-ms-code-generation-settings": { "internalConstructors": false } }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": { "get": { "tags": [ "BackupVaults" ], "description": "Returns resource collection belonging to a subscription.", "operationId": "BackupVaults_GetInSubscription", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "Get BackupVaults in Subscription": { "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": { "get": { "tags": [ "GetOperationResult" ], "description": "Gets the operation result for a resource", "operationId": "OperationResult_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "operationId", "in": "path", "required": true, "type": "string" }, { "name": "location", "in": "path", "required": true, "type": "string" } ], "responses": { "202": { "description": "Accepted", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "200": { "description": "Contains additional information like job Id", "schema": { "$ref": "#/definitions/OperationJobExtendedInfo" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "summary": "Gets the operation status for a resource.", "x-ms-examples": { "Get OperationResult": { "$ref": "./examples/GetOperationResult.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": { "get": { "tags": [ "OperationStatus" ], "summary": "Gets the operation status for a resource.", "operationId": "OperationStatus_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "location", "in": "path", "required": true, "type": "string" }, { "name": "operationId", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/OperationResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get OperationStatus": { "$ref": "./examples/GetOperationStatus.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": { "get": { "tags": [ "BackupVaults" ], "description": "Returns resource collection belonging to a resource group.", "operationId": "BackupVaults_GetInResourceGroup", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "Get BackupVaults in ResourceGroup": { "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": { "get": { "tags": [ "BackupVaults" ], "description": "Returns a resource belonging to a resource group.", "operationId": "BackupVaults_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get BackupVault": { "$ref": "./examples/VaultCRUD/GetBackupVault.json" }, "Get BackupVault With MSI": { "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json" } } }, "put": { "tags": [ "BackupVaults" ], "description": "Creates or updates a BackupVault resource belonging to a resource group.", "operationId": "BackupVaults_CreateOrUpdate", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/BackupVaultResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResource" } }, "201": { "description": "Created", "schema": { "$ref": "#/definitions/BackupVaultResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create BackupVault": { "$ref": "./examples/VaultCRUD/PutBackupVault.json" }, "Create BackupVault With MSI": { "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json" } }, "x-ms-long-running-operation": true }, "delete": { "tags": [ "BackupVaults" ], "description": "Deletes a BackupVault resource from the resource group.", "operationId": "BackupVaults_Delete", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK" }, "202": { "description": "Accepted" }, "204": { "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Delete BackupVault": { "$ref": "./examples/VaultCRUD/DeleteBackupVault.json" } } }, "patch": { "tags": [ "BackupVaults" ], "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.", "operationId": "BackupVaults_Update", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/PatchResourceRequestInput" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResource" } }, "202": { "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Patch BackupVault": { "$ref": "./examples/VaultCRUD/PatchBackupVault.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": { "get": { "tags": [ "Resources" ], "operationId": "BackupVaultOperationResults_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "operationId", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupVaultResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "GetOperationResult Patch": { "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": { "post": { "tags": [ "BackupVaults" ], "summary": "API to check for resource name availability", "operationId": "BackupVaults_CheckNameAvailability", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "location", "in": "path", "description": "The location in which uniqueness will be verified.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Check name availability request", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CheckNameAvailabilityResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Check BackupVaults name availability": { "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": { "post": { "tags": [ "DppFeatureSupport" ], "summary": "Validates if a feature is supported", "operationId": "DataProtection_CheckFeatureSupport", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "location", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Feature support request object", "required": true, "schema": { "$ref": "#/definitions/FeatureValidationRequestBase" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FeatureValidationResponseBase" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Check Azure Vm Backup Feature Support": { "$ref": "./examples/CheckfeatureSupport.json" } } } }, "/providers/Microsoft.DataProtection/operations": { "get": { "tags": [ "Operations" ], "description": "Returns the list of available operations.", "operationId": "DataProtectionOperations_List", "parameters": [ { "$ref": "#/parameters/ApiVersion" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ClientDiscoveryResponse" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "value" }, "x-ms-examples": { "Returns the list of supported REST operations.": { "$ref": "./examples/Operations/List.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": { "get": { "tags": [ "BackupPolicies" ], "description": "Returns list of backup policies belonging to a backup vault", "operationId": "BackupPolicies_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BaseBackupPolicyResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List BackupPolicy": { "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": { "get": { "tags": [ "BackupPolicies" ], "operationId": "BackupPolicies_Get", "description": "Gets a backup policy belonging to a backup vault", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupPolicyName", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BaseBackupPolicyResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "summary": "Gets a backup policy belonging to a backup vault", "x-ms-examples": { "Get BackupPolicy": { "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json" } } }, "put": { "tags": [ "BackupPolicies" ], "operationId": "BackupPolicies_CreateOrUpdate", "summary": "Creates or Updates a backup policy belonging to a backup vault", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupPolicyName", "description": "Name of the policy", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/BaseBackupPolicyResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BaseBackupPolicyResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "CreateOrUpdate BackupPolicy": { "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json" } } }, "delete": { "tags": [ "BackupPolicies" ], "operationId": "BackupPolicies_Delete", "summary": "Deletes a backup policy belonging to a backup vault", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupPolicyName", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK" }, "204": { "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Delete BackupPolicy": { "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": { "get": { "tags": [ "BackupInstances" ], "description": "Gets a backup instances belonging to a backup vault", "operationId": "BackupInstances_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupInstanceResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List BackupInstances in a Vault": { "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": { "get": { "tags": [ "BackupInstances" ], "description": "Gets a backup instance with name in a backup vault", "operationId": "BackupInstances_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupInstanceResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get BackupInstance": { "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json" } } }, "put": { "tags": [ "BackupInstances" ], "description": "Create or update a backup instance in a backup vault", "operationId": "BackupInstances_CreateOrUpdate", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/BackupInstanceResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BackupInstanceResource" } }, "201": { "description": "Created", "schema": { "$ref": "#/definitions/BackupInstanceResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create BackupInstance": { "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json" } }, "x-ms-long-running-operation": true }, "delete": { "tags": [ "BackupInstances" ], "description": "Delete a backup instance in a backup vault", "operationId": "BackupInstances_Delete", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" } ], "responses": { "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "204": { "description": "NoContent" }, "200": { "description": "Ok" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Delete BackupInstance": { "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": { "post": { "tags": [ "BackupInstances" ], "description": "Trigger adhoc backup ", "operationId": "BackupInstances_AdhocBackup", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/TriggerBackupRequest" } } ], "responses": { "200": { "description": "Contains additional information like job Id", "schema": { "$ref": "#/definitions/OperationJobExtendedInfo" } }, "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Trigger Adhoc Backup": { "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": { "post": { "tags": [ "BackupInstances" ], "description": "Validate whether adhoc backup will be successful or not", "operationId": "BackupInstances_ValidateForBackup", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/ValidateForBackupRequest" } } ], "responses": { "200": { "description": "Contains additional information like job Id", "schema": { "$ref": "#/definitions/OperationJobExtendedInfo" } }, "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Validate For Backup": { "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": { "get": { "tags": [ "RecoveryPoint" ], "description": "Returns a list of Recovery Points for a DataSource in a vault.", "operationId": "RecoveryPoints_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "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/AzureBackupRecoveryPointResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-odata": "#/definitions/RecoveryPointsFilters", "x-ms-examples": { "List Recovery Points in a Vault": { "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": { "get": { "tags": [ "RecoveryPoint" ], "description": "Gets a Recovery Point using recoveryPointId for a Datasource.", "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "recoveryPointId", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AzureBackupRecoveryPointResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get Recovery Point": { "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": { "post": { "description": "rehydrate recovery point for restore for a BackupInstance", "operationId": "BackupInstances_TriggerRehydrate", "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/VaultName" }, { "description": "Request body for operation", "in": "body", "name": "parameters", "required": true, "schema": { "$ref": "#/definitions/AzureBackupRehydrationRequest" } }, { "in": "path", "name": "backupInstanceName", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "204": { "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "tags": [ "BackupInstances" ], "x-ms-examples": { "Trigger Rehydrate": { "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": { "post": { "tags": [ "BackupInstances" ], "description": "Triggers restore for a BackupInstance", "operationId": "BackupInstances_TriggerRestore", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/AzureBackupRestoreRequest" } } ], "responses": { "200": { "description": "Contains additional information like job Id", "schema": { "$ref": "#/definitions/OperationJobExtendedInfo" } }, "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Trigger Restore": { "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json" }, "Trigger Restore As Files": { "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json" }, "Trigger Restore With Rehydration": { "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": { "post": { "tags": [ "BackupInstances" ], "description": "Validates if Restore can be triggered for a DataSource", "operationId": "BackupInstances_ValidateForRestore", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/ValidateRestoreRequestObject" } } ], "responses": { "200": { "description": "Contains additional information like job Id", "schema": { "$ref": "#/definitions/OperationJobExtendedInfo" } }, "202": { "description": "The operation will be completed asynchronously.", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Azure-AsyncOperation": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Validate Restore": { "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": { "get": { "tags": [ "AzureBackupJobs" ], "description": "Returns list of jobs belonging to a backup vault", "operationId": "Jobs_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AzureBackupJobResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "Get Jobs": { "$ref": "./examples/JobCRUD/ListJobs.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": { "post": { "tags": [ "FindRestorableTimeRanges" ], "operationId": "RestorableTimeRanges_Find", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" }, { "name": "backupInstanceName", "description": "The name of the backup instance", "in": "path", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Request body for operation", "required": true, "schema": { "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponseResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Find Restorable Time Ranges": { "$ref": "./examples/BackupInstanceOperations/FindRestorableTimeRanges.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": { "get": { "tags": [ "AzureBackupJob" ], "description": "Gets a job with id in a backup vault", "operationId": "Jobs_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "name": "jobId", "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AzureBackupJobResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get Job": { "$ref": "./examples/JobCRUD/GetJob.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": { "post": { "tags": [ "AzureBackupJob" ], "description": "Triggers export of jobs and returns an OperationID to track.", "operationId": "ExportJobs_Trigger", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" } ], "responses": { "202": { "description": "Accepted", "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" }, "Retry-After": { "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", "type": "integer", "format": "int32" } } }, "204": { "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-examples": { "Trigger Export Jobs": { "$ref": "./examples/JobCRUD/TriggerExportJobs.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": { "get": { "tags": [ "AzureBackupJob" ], "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": "ExportJobsOperationResult_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "name": "operationId", "description": "OperationID which represents the export job.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ExportJobsResult" } }, "202": { "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get Export Jobs Operation Result": { "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json" } } } } }, "definitions": { "AbsoluteDeleteOption": { "allOf": [ { "$ref": "#/definitions/DeleteOption" } ], "description": "Delete option with duration", "required": [ "duration", "objectType" ], "title": "AbsoluteDeleteOption", "type": "object", "x-ms-discriminator-value": "AbsoluteDeleteOption" }, "RecoveryPointsFilters": { "type": "object", "properties": { "restorePointDataStoreId": { "type": "string" }, "isVisible": { "type": "boolean" }, "startDate": { "type": "string" }, "endDate": { "type": "string" }, "extendedInfo": { "type": "boolean" }, "restorePointState": { "type": "string" } } }, "AdHocBackupRuleOptions": { "description": "Adhoc backup rules", "properties": { "ruleName": { "type": "string" }, "triggerOption": { "$ref": "#/definitions/AdhocBackupTriggerOption" } }, "required": [ "ruleName", "triggerOption" ], "title": "AdHocBackupRuleOptions", "type": "object" }, "AdhocBackupTriggerOption": { "description": "Adhoc backup trigger option", "properties": { "retentionTagOverride": { "type": "string" } }, "title": "AdhocBackupTriggerOption", "type": "object" }, "AdhocBasedTaggingCriteria": { "description": "Adhoc backup tagging criteria", "properties": { "tagInfo": { "$ref": "#/definitions/RetentionTag", "description": "Retention tag information" } }, "title": "AdhocBasedTaggingCriteria", "type": "object" }, "AdhocBasedTriggerContext": { "allOf": [ { "$ref": "#/definitions/TriggerContext" } ], "description": "Adhoc trigger context", "properties": { "taggingCriteria": { "$ref": "#/definitions/AdhocBasedTaggingCriteria", "description": "Tagging Criteria containing retention tag for adhoc backup." } }, "required": [ "objectType", "taggingCriteria" ], "title": "AdhocBasedTriggerContext", "type": "object", "x-ms-discriminator-value": "AdhocBasedTriggerContext" }, "AzureBackupDiscreteRecoveryPoint": { "allOf": [ { "$ref": "#/definitions/AzureBackupRecoveryPoint" } ], "description": "Azure backup discrete RecoveryPoint", "properties": { "friendlyName": { "type": "string" }, "recoveryPointDataStoresDetails": { "items": { "$ref": "#/definitions/RecoveryPointDataStoreDetails" }, "type": "array" }, "recoveryPointTime": { "format": "date-time", "type": "string" }, "policyName": { "type": "string" }, "policyVersion": { "type": "string" }, "recoveryPointId": { "type": "string" }, "recoveryPointType": { "type": "string" }, "retentionTagName": { "type": "string" }, "retentionTagVersion": { "type": "string" } }, "required": [ "recoveryPointTime" ], "title": "AzureBackupDiscreteRecoveryPoint", "type": "object", "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint" }, "AzureBackupFindRestorableTimeRangesRequest": { "description": "List Restore Ranges Request", "required": [ "sourceDataStoreType" ], "type": "object", "properties": { "sourceDataStoreType": { "description": "Gets or sets the type of the source data store.", "enum": [ "OperationalStore", "VaultStore", "ArchiveStore" ], "type": "string", "x-ms-enum": { "name": "RestoreSourceDataStoreType", "modelAsString": true } }, "startTime": { "description": "Start time for the List Restore Ranges request. ISO 8601 format.", "type": "string" }, "endTime": { "description": "End time for the List Restore Ranges request. ISO 8601 format.", "type": "string" } } }, "AzureBackupFindRestorableTimeRangesRequestResource": { "description": "List Restore Ranges Request", "allOf": [ { "$ref": "#/definitions/DppWorkerRequest" } ], "properties": { "content": { "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest", "description": "AzureBackupFindRestorableTimeRangesRequestResource content" } } }, "AzureBackupFindRestorableTimeRangesResponse": { "description": "List Restore Ranges Response", "type": "object", "properties": { "restorableTimeRanges": { "description": "Returns the Restore Ranges available on the Backup Instance.", "type": "array", "items": { "$ref": "#/definitions/RestorableTimeRange" } }, "objectType": { "type": "string" } } }, "AzureBackupFindRestorableTimeRangesResponseResource": { "description": "List Restore Ranges Response", "allOf": [ { "$ref": "#/definitions/DppResource" } ], "properties": { "properties": { "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponse", "description": "AzureBackupFindRestorableTimeRangesResponseResource properties" } } }, "AzureBackupJob": { "description": "AzureBackup Job Class", "properties": { "activityID": { "description": "Job Activity Id", "type": "string" }, "backupInstanceFriendlyName": { "description": "Name of the Backup Instance", "type": "string" }, "backupInstanceId": { "description": "ARM ID of the Backup Instance", "readOnly": true, "type": "string" }, "dataSourceId": { "description": "ARM ID of the DataSource", "type": "string" }, "dataSourceLocation": { "description": "Location of the DataSource", "type": "string" }, "dataSourceName": { "description": "User Friendly Name of the DataSource", "type": "string" }, "dataSourceSetName": { "description": "Data Source Set Name of the DataSource", "type": "string" }, "dataSourceType": { "description": "Type of DataSource", "type": "string" }, "duration": { "description": "Total run time of the job. ISO 8601 format.", "type": "string" }, "endTime": { "description": "EndTime of the job(in UTC)", "format": "date-time", "readOnly": true, "type": "string" }, "errorDetails": { "description": "A List, detailing the errors related to the job", "items": { "$ref": "#/definitions/UserFacingError" }, "readOnly": true, "type": "array" }, "extendedInfo": { "$ref": "#/definitions/JobExtendedInfo", "description": "Extended Information about the job", "readOnly": true }, "isUserTriggered": { "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", "type": "boolean" }, "operation": { "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure", "type": "string" }, "operationCategory": { "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management", "type": "string" }, "policyId": { "description": "ARM ID of the policy", "readOnly": true, "type": "string" }, "policyName": { "description": "Name of the policy", "readOnly": true, "type": "string" }, "progressEnabled": { "description": "Indicated whether progress is enabled for the job", "type": "boolean" }, "progressUrl": { "description": "Url which contains job's progress", "readOnly": true, "type": "string" }, "restoreType": { "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR", "readOnly": true, "type": "string" }, "sourceResourceGroup": { "description": "Resource Group Name of the Datasource", "type": "string" }, "sourceSubscriptionID": { "description": "SubscriptionId corresponding to the DataSource", "type": "string" }, "startTime": { "description": "StartTime of the job(in UTC)", "format": "date-time", "type": "string" }, "status": { "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning", "type": "string" }, "subscriptionId": { "description": "Subscription Id of the corresponding backup vault", "type": "string" }, "supportedActions": { "description": "List of supported actions", "items": { "type": "string" }, "type": "array" }, "vaultName": { "description": "Name of the vault", "type": "string" }, "etag": { "type": "string" }, "sourceDataStoreName": { "type": "string" }, "destinationDataStoreName": { "type": "string" } }, "required": [ "activityID", "subscriptionId", "dataSourceId", "vaultName", "backupInstanceFriendlyName", "sourceResourceGroup", "dataSourceSetName", "dataSourceName", "progressEnabled", "sourceSubscriptionID", "dataSourceLocation", "startTime", "dataSourceType", "operationCategory", "operation", "status", "isUserTriggered", "supportedActions" ], "type": "object" }, "AzureBackupJobResource": { "allOf": [ { "$ref": "#/definitions/DppResource" } ], "description": "AzureBackup Job Resource Class", "properties": { "properties": { "$ref": "#/definitions/AzureBackupJob", "description": "AzureBackupJobResource properties", "type": "object" } }, "type": "object" }, "AzureBackupJobResourceList": { "allOf": [ { "$ref": "#/definitions/DppResourceList" } ], "description": "List of AzureBackup Job resources", "properties": { "value": { "description": "List of resources.", "items": { "$ref": "#/definitions/AzureBackupJobResource" }, "type": "array" } }, "type": "object" }, "AzureBackupParams": { "allOf": [ { "$ref": "#/definitions/BackupParameters" } ], "description": "Azure backup parameters", "properties": { "backupType": { "description": "BackupType ; Full/Incremental etc", "type": "string" } }, "required": [ "backupType", "objectType" ], "title": "AzureBackupParams", "type": "object", "x-ms-discriminator-value": "AzureBackupParams" }, "AzureBackupRecoveryPoint": { "description": "Azure backup recoveryPoint", "discriminator": "objectType", "properties": { "objectType": { "type": "string" } }, "required": [ "objectType" ], "title": "AzureBackupRecoveryPoint", "type": "object" }, "AzureBackupRecoveryPointBasedRestoreRequest": { "allOf": [ { "$ref": "#/definitions/AzureBackupRestoreRequest" } ], "description": "Azure backup recoveryPoint based restore request", "properties": { "recoveryPointId": { "type": "string" } }, "required": [ "recoveryPointId" ], "title": "AzureBackupRecoveryPointBasedRestoreRequest", "type": "object", "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest" }, "AzureBackupRecoveryPointResource": { "allOf": [ { "$ref": "#/definitions/DppResource" } ], "description": "Azure backup recoveryPoint resource", "properties": { "properties": { "$ref": "#/definitions/AzureBackupRecoveryPoint", "description": "AzureBackupRecoveryPointResource properties" } }, "title": "AzureBackupRecoveryPointResource" }, "AzureBackupRecoveryPointResourceList": { "allOf": [ { "$ref": "#/definitions/DppResourceList" } ], "description": "Azure backup recoveryPoint resource list", "properties": { "value": { "description": "List of resources.", "items": { "$ref": "#/definitions/AzureBackupRecoveryPointResource" }, "type": "array" } }, "title": "AzureBackupRecoveryPointResourceList", "type": "object" }, "AzureBackupRehydrationRequest": { "description": "Azure Backup Rehydrate Request", "properties": { "recoveryPointId": { "description": "Id of the recovery point to be recovered", "type": "string" }, "rehydrationPriority": { "description": "Priority to be used for rehydration. Values High or Standard", "$ref": "#/definitions/RehydrationPriority" }, "rehydrationRetentionDuration": { "description": "Retention duration in ISO 8601 format i.e P10D .", "type": "string" } }, "required": [ "recoveryPointId", "rehydrationRetentionDuration" ], "title": "AzureBackupRehydrationRequest", "type": "object" }, "AzureBackupRestoreRequest": { "description": "Azure backup restore request", "discriminator": "objectType", "properties": { "objectType": { "type": "string" }, "restoreTargetInfo": { "$ref": "#/definitions/RestoreTargetInfoBase", "description": "Gets or sets the restore target information." }, "sourceDataStoreType": { "description": "Gets or sets the type of the source data store.", "enum": [ "ArchiveStore", "SnapshotStore", "VaultStore" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "SourceDataStoreType" } } }, "required": [ "objectType", "restoreTargetInfo", "sourceDataStoreType" ], "title": "AzureBackupRestoreRequest", "type": "object" }, "AzureBackupRestoreWithRehydrationRequest": { "allOf": [ { "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest" } ], "description": "AzureBackup Restore with Rehydration Request", "properties": { "rehydrationPriority": { "description": "Priority to be used for rehydration. Values High or Standard", "$ref": "#/definitions/RehydrationPriority" }, "rehydrationRetentionDuration": { "description": "Retention duration in ISO 8601 format i.e P10D .", "type": "string" } }, "required": [ "rehydrationPriority", "rehydrationRetentionDuration" ], "title": "AzureBackupRestoreWithRehydrationRequest", "type": "object", "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest" }, "AzureBackupRecoveryTimeBasedRestoreRequest": { "allOf": [ { "$ref": "#/definitions/AzureBackupRestoreRequest" } ], "description": "AzureBackup RecoveryPointTime Based Restore Request", "properties": { "recoveryPointTime": { "description": "The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.", "type": "string" } }, "required": [ "recoveryPointTime" ], "title": "AzureBackupRecoveryTimeBasedRestoreRequest", "type": "object", "x-ms-discriminator-value": "AzureBackupRecoveryTimeBasedRestoreRequest" }, "AzureBackupRule": { "allOf": [ { "$ref": "#/definitions/BasePolicyRule" } ], "description": "Azure backup rule", "properties": { "backupParameters": { "$ref": "#/definitions/BackupParameters" }, "dataStore": { "$ref": "#/definitions/DataStoreInfoBase" }, "trigger": { "$ref": "#/definitions/TriggerContext" } }, "required": [ "dataStore", "name", "objectType", "trigger" ], "title": "AzureBackupRule", "type": "object", "x-ms-discriminator-value": "AzureBackupRule" }, "AzureOperationalStoreParameters": { "description": "Parameters for Operational-Tier DataStore", "required": [ "objectType", "dataStoreType" ], "type": "object", "allOf": [ { "$ref": "#/definitions/DataStoreParameters" } ], "properties": { "resourceGroupId": { "description": "Gets or sets the Snapshot Resource Group Uri.", "type": "string" } }, "x-ms-discriminator-value": "AzureOperationalStoreParameters" }, "AzureRetentionRule": { "allOf": [ { "$ref": "#/definitions/BasePolicyRule" } ], "description": "Azure retention rule", "properties": { "isDefault": { "type": "boolean" }, "lifecycles": { "items": { "$ref": "#/definitions/SourceLifeCycle" }, "type": "array" } }, "required": [ "lifecycles", "name", "objectType" ], "title": "AzureRetentionRule", "type": "object", "x-ms-discriminator-value": "AzureRetentionRule" }, "BackupCriteria": { "description": "BackupCriteria base class", "discriminator": "objectType", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "required": [ "objectType" ], "title": "BackupCriteria", "type": "object" }, "BackupInstance": { "description": "Backup Instance", "required": [ "dataSourceInfo", "policyInfo", "objectType" ], "type": "object", "properties": { "friendlyName": { "description": "Gets or sets the Backup Instance friendly name.", "type": "string" }, "dataSourceInfo": { "$ref": "#/definitions/Datasource", "description": "Gets or sets the data source information." }, "dataSourceSetInfo": { "$ref": "#/definitions/DatasourceSet", "description": "Gets or sets the data source set information." }, "policyInfo": { "$ref": "#/definitions/PolicyInfo", "description": "Gets or sets the policy information." }, "protectionStatus": { "$ref": "#/definitions/ProtectionStatusDetails", "description": "Specifies the protection status of the resource", "readOnly": true }, "currentProtectionState": { "description": "Specifies the current protection state of the resource", "enum": [ "Invalid", "NotProtected", "ConfiguringProtection", "ProtectionConfigured", "BackupSchedulesSuspended", "RetentionSchedulesSuspended", "ProtectionStopped", "ProtectionError", "ConfiguringProtectionFailed", "SoftDeleting", "SoftDeleted", "UpdatingProtection" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "CurrentProtectionState", "modelAsString": true } }, "protectionErrorDetails": { "$ref": "#/definitions/UserFacingError", "description": "Specifies the protection error of the resource", "readOnly": true }, "provisioningState": { "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed", "type": "string", "readOnly": true }, "objectType": { "type": "string" } } }, "BackupInstanceResource": { "allOf": [ { "$ref": "#/definitions/DppResource" } ], "description": "BackupInstance Resource", "properties": { "properties": { "$ref": "#/definitions/BackupInstance", "description": "BackupInstanceResource properties" } }, "title": "BackupInstanceResource" }, "BackupInstanceResourceList": { "allOf": [ { "$ref": "#/definitions/DppResourceList" } ], "description": "BackupInstance Resource list response", "properties": { "value": { "description": "List of resources.", "items": { "$ref": "#/definitions/BackupInstanceResource" }, "type": "array" } }, "title": "BackupInstanceResourceList", "type": "object" }, "BackupParameters": { "description": "BackupParameters base", "discriminator": "objectType", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "required": [ "objectType" ], "title": "BackupParameters", "type": "object" }, "BackupPolicy": { "allOf": [ { "$ref": "#/definitions/BaseBackupPolicy" } ], "description": "Rule based backup policy", "properties": { "policyRules": { "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc", "items": { "$ref": "#/definitions/BasePolicyRule" }, "type": "array" } }, "required": [ "datasourceTypes", "policyRules" ], "title": "BackupPolicy", "type": "object", "x-ms-discriminator-value": "BackupPolicy" }, "BackupSchedule": { "description": "Schedule for backup", "properties": { "repeatingTimeIntervals": { "description": "ISO 8601 repeating time interval format", "items": { "type": "string" }, "type": "array" } }, "required": [ "repeatingTimeIntervals" ], "title": "BackupSchedule", "type": "object" }, "BackupVault": { "description": "Backup Vault", "properties": { "provisioningState": { "description": "Provisioning state of the BackupVault resource", "enum": [ "Failed", "Provisioning", "Succeeded", "Unknown", "Updating" ], "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, "name": "ProvisioningState" } }, "storageSettings": { "description": "Storage Settings", "items": { "$ref": "#/definitions/StorageSetting" }, "type": "array" } }, "required": [ "storageSettings" ], "title": "BackupVault", "type": "object" }, "BackupVaultResource": { "allOf": [ { "$ref": "#/definitions/DppTrackedResource" } ], "description": "Backup Vault Resource", "properties": { "properties": { "$ref": "#/definitions/BackupVault", "description": "BackupVaultResource properties" } }, "required": [ "location", "properties" ], "title": "BackupVault Resource" }, "BackupVaultResourceList": { "allOf": [ { "$ref": "#/definitions/DppResourceList" } ], "description": "List of BackupVault resources", "properties": { "value": { "description": "List of resources.", "items": { "$ref": "#/definitions/BackupVaultResource" }, "type": "array" } }, "title": "BackupVaultResourceList", "type": "object" }, "BaseBackupPolicy": { "description": "BackupPolicy base", "discriminator": "objectType", "properties": { "datasourceTypes": { "description": "Type of datasource for the backup management", "items": { "type": "string" }, "type": "array" }, "objectType": { "type": "string" } }, "required": [ "datasourceTypes", "objectType" ], "title": "BaseBackupPolicy", "type": "object" }, "BaseBackupPolicyResource": { "allOf": [ { "$ref": "#/definitions/DppResource" } ], "description": "BaseBackupPolicy resource", "properties": { "properties": { "$ref": "#/definitions/BaseBackupPolicy", "description": "BaseBackupPolicyResource properties" } }, "title": "BaseBackupPolicyResource" }, "BaseBackupPolicyResourceList": { "allOf": [ { "$ref": "#/definitions/DppResourceList" } ], "description": "List of BaseBackupPolicy resources", "properties": { "value": { "description": "List of resources.", "items": { "$ref": "#/definitions/BaseBackupPolicyResource" }, "type": "array" } }, "title": "BaseBackupPolicyResourceList", "type": "object" }, "BasePolicyRule": { "description": "BasePolicy Rule", "discriminator": "objectType", "properties": { "name": { "type": "string" }, "objectType": { "type": "string" } }, "required": [ "name", "objectType" ], "title": "BasePolicyRule", "type": "object" }, "CheckNameAvailabilityRequest": { "description": "CheckNameAvailability Request", "properties": { "name": { "description": "Resource name for which availability needs to be checked", "type": "string" }, "type": { "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults", "type": "string" } }, "title": "CheckNameAvailabilityRequest", "type": "object" }, "CheckNameAvailabilityResult": { "description": "CheckNameAvailability Result", "properties": { "message": { "description": "Gets or sets the message.", "type": "string" }, "nameAvailable": { "description": "Gets or sets a value indicating whether [name available].", "type": "boolean" }, "reason": { "description": "Gets or sets the reason.", "type": "string" } }, "title": "CheckNameAvailabilityResult", "type": "object" }, "ClientDiscoveryDisplay": { "description": "Localized display information of an operation.", "properties": { "description": { "description": "Description of the operation having details of what operation is about.", "type": "string" }, "operation": { "description": "Operations Name itself.", "type": "string" }, "provider": { "description": "Name of the provider for display purposes", "type": "string" }, "resource": { "description": "ResourceType for which this Operation can be performed.", "type": "string" } }, "title": "ClientDiscoveryDisplay", "type": "object" }, "ClientDiscoveryForLogSpecification": { "description": "Class to represent shoebox log specification in json client discovery.", "properties": { "blobDuration": { "description": "blob duration of shoebox log specification", "type": "string" }, "displayName": { "description": "Localized display name", "type": "string" }, "name": { "description": "Name for shoebox log specification.", "type": "string" } }, "title": "ClientDiscoveryForLogSpecification", "type": "object" }, "ClientDiscoveryForProperties": { "description": "Class to represent shoebox properties in json client discovery.", "properties": { "serviceSpecification": { "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", "description": "Operation properties." } }, "title": "ClientDiscoveryForProperties", "type": "object" }, "ClientDiscoveryForServiceSpecification": { "description": "Class to represent shoebox service specification in json client discovery.", "properties": { "logSpecifications": { "description": "List of log specifications of this operation.", "items": { "$ref": "#/definitions/ClientDiscoveryForLogSpecification" }, "type": "array" } }, "title": "ClientDiscoveryForServiceSpecification", "type": "object" }, "ClientDiscoveryResponse": { "description": "Operations List response which contains list of available APIs.", "properties": { "nextLink": { "description": "Link to the next chunk of Response.", "type": "string" }, "value": { "description": "List of available operations.", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" }, "type": "array" } }, "title": "ClientDiscoveryResponse", "type": "object" }, "ClientDiscoveryValueForSingleApi": { "description": "Available operation details.", "properties": { "display": { "$ref": "#/definitions/ClientDiscoveryDisplay", "description": "Contains the localized display information for this particular operation" }, "name": { "description": "Name of the Operation.", "type": "string" }, "isDataAction": { "description": "Indicates whether the operation is a data action", "type": "boolean" }, "origin": { "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", "type": "string" }, "properties": { "$ref": "#/definitions/ClientDiscoveryForProperties", "description": "Properties for the given operation." } }, "title": "ClientDiscoveryValueForSingleApi", "type": "object" }, "CloudError": { "description": "An error response from Azure Backup.", "properties": { "error": { "$ref": "#/definitions/Error" } }, "title": "CloudError", "x-ms-external": true }, "CopyOnExpiryOption": { "allOf": [ { "$ref": "#/definitions/CopyOption" } ], "description": "Copy on Expiry Option", "required": [ "objectType" ], "title": "CopyOnExpiryOption", "type": "object", "x-ms-discriminator-value": "CopyOnExpiryOption" }, "CopyOption": { "description": "Options to copy", "discriminator": "objectType", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "required": [ "objectType" ], "title": "CopyOption", "type": "object" }, "CustomCopyOption": { "allOf": [ { "$ref": "#/definitions/CopyOption" } ], "description": "Duration based custom options to copy", "properties": { "duration": { "description": "Data copied after given timespan", "type": "string" } }, "required": [ "objectType" ], "title": "CustomCopyOption", "type": "object", "x-ms-discriminator-value": "CustomCopyOption" }, "Datasource": { "description": "Datasource to be backed up", "properties": { "datasourceType": { "description": "DatasourceType of the resource.", "type": "string" }, "objectType": { "description": "Type of Datasource object, used to initialize the right inherited type", "type": "string" }, "resourceID": { "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", "type": "string" }, "resourceLocation": { "description": "Location of datasource.", "type": "string" }, "resourceName": { "description": "Unique identifier of the resource in the context of parent.", "type": "string" }, "resourceType": { "description": "Resource Type of Datasource.", "type": "string" }, "resourceUri": { "description": "Uri of the resource.", "type": "string" } }, "required": [ "resourceID" ], "title": "Datasource", "type": "object" }, "DatasourceSet": { "description": "DatasourceSet details of datasource to be backed up", "properties": { "datasourceType": { "description": "DatasourceType of the resource.", "type": "string" }, "objectType": { "description": "Type of Datasource object, used to initialize the right inherited type", "type": "string" }, "resourceID": { "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", "type": "string" }, "resourceLocation": { "description": "Location of datasource.", "type": "string" }, "resourceName": { "description": "Unique identifier of the resource in the context of parent.", "type": "string" }, "resourceType": { "description": "Resource Type of Datasource.", "type": "string" }, "resourceUri": { "description": "Uri of the resource.", "type": "string" } }, "required": [ "resourceID" ], "title": "DatasourceSet", "type": "object" }, "DataStoreInfoBase": { "description": "DataStoreInfo base", "properties": { "dataStoreType": { "description": "type of datastore; Operational/Vault/Archive", "enum": [ "OperationalStore", "VaultStore", "ArchiveStore" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "DataStoreTypes" } }, "objectType": { "description": "Type of Datasource object, used to initialize the right inherited type", "readOnly": false, "type": "string" } }, "required": [ "dataStoreType", "objectType" ], "title": "DataStoreInfoBase", "type": "object" }, "DataStoreParameters": { "description": "Parameters for DataStore", "required": [ "objectType", "dataStoreType" ], "type": "object", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string", "readOnly": false }, "dataStoreType": { "description": "type of datastore; Operational/Vault/Archive", "enum": [ "OperationalStore", "VaultStore", "ArchiveStore" ], "type": "string", "x-ms-enum": { "name": "DataStoreTypes", "modelAsString": true } } }, "discriminator": "objectType" }, "Day": { "description": "Day of the week", "properties": { "date": { "description": "Date of the month", "format": "int32", "type": "integer" }, "isLast": { "description": "Whether Date is last date of month", "type": "boolean" } }, "title": "Day", "type": "object" }, "DeleteOption": { "description": "Delete Option", "discriminator": "objectType", "properties": { "duration": { "description": "Duration of deletion after given timespan", "type": "string" }, "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "required": [ "duration", "objectType" ], "title": "DeleteOption", "type": "object" }, "DppIdentityDetails": { "description": "Identity details", "properties": { "principalId": { "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.", "readOnly": true, "type": "string" }, "tenantId": { "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.", "readOnly": true, "type": "string" }, "type": { "description": "The identityType which can be either SystemAssigned or None", "type": "string" } }, "title": "DppIdentityDetails", "type": "object" }, "DppResource": { "description": "Resource class", "properties": { "id": { "description": "Resource Id represents the complete path to the resource.", "readOnly": true, "type": "string" }, "name": { "description": "Resource name associated with the resource.", "readOnly": true, "type": "string" }, "type": { "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", "readOnly": true, "type": "string" }, "systemData": { "$ref": "#/definitions/systemData" } }, "title": "DppResource", "type": "object", "x-ms-azure-resource": true }, "DppResourceList": { "description": "ListResource", "properties": { "nextLink": { "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", "type": "string" } }, "title": "List Resource", "type": "object" }, "DppTrackedResource": { "properties": { "eTag": { "description": "Optional ETag.", "type": "string" }, "id": { "description": "Resource Id represents the complete path to the resource.", "readOnly": true, "type": "string" }, "identity": { "$ref": "#/definitions/DppIdentityDetails", "description": "Input Managed Identity Details" }, "location": { "description": "Resource location.", "type": "string" }, "name": { "description": "Resource name associated with the resource.", "readOnly": true, "type": "string" }, "tags": { "additionalProperties": { "type": "string" }, "description": "Resource tags.", "type": "object" }, "type": { "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", "readOnly": true, "type": "string" }, "systemData": { "$ref": "#/definitions/systemData" } }, "type": "object", "x-ms-azure-resource": true }, "systemData": { "description": "Metadata pertaining to creation and last modification of the resource.", "type": "object", "readOnly": true, "properties": { "createdBy": { "type": "string", "description": "The identity that created the resource." }, "createdByType": { "type": "string", "description": "The type of identity that created the resource.", "enum": [ "User", "Application", "ManagedIdentity", "Key" ], "x-ms-enum": { "name": "createdByType", "modelAsString": true } }, "createdAt": { "type": "string", "format": "date-time", "description": "The timestamp of resource creation (UTC)." }, "lastModifiedBy": { "type": "string", "description": "The identity that last modified the resource." }, "lastModifiedByType": { "type": "string", "description": "The type of identity that last modified the resource.", "enum": [ "User", "Application", "ManagedIdentity", "Key" ], "x-ms-enum": { "name": "createdByType", "modelAsString": true } }, "lastModifiedAt": { "type": "string", "format": "date-time", "description": "The type of identity that last modified the resource." } } }, "DppTrackedResourceList": { "properties": { "nextLink": { "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", "type": "string" } }, "type": "object" }, "DppWorkerRequest": { "type": "object", "properties": { "subscriptionId": { "type": "string" }, "uri": { "type": "string" }, "headers": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "supportedGroupVersions": { "type": "array", "items": { "type": "string" } }, "cultureInfo": { "type": "string" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" } }, "httpMethod": { "type": "string" } } }, "Error": { "description": "The resource management error response.", "properties": { "additionalInfo": { "description": "The error additional info.", "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, "readOnly": true, "type": "array" }, "code": { "description": "The error code.", "readOnly": true, "type": "string" }, "details": { "description": "The error details.", "items": { "$ref": "#/definitions/Error" }, "readOnly": true, "type": "array" }, "message": { "description": "The error message.", "readOnly": true, "type": "string" }, "target": { "description": "The error target.", "readOnly": true, "type": "string" } } }, "ErrorAdditionalInfo": { "description": "The resource management error additional info.", "properties": { "info": { "description": "The additional info.", "readOnly": true, "type": "object" }, "type": { "description": "The additional info type.", "readOnly": true, "type": "string" } } }, "ExportJobsResult": { "description": "The result for export jobs containing blob details.", "properties": { "blobUrl": { "description": "URL of the blob into which the serialized string of list of jobs is exported.", "readOnly": true, "type": "string" }, "blobSasKey": { "description": "SAS key to access the blob.", "readOnly": true, "type": "string" }, "excelFileBlobUrl": { "description": "URL of the blob into which the ExcelFile is uploaded.", "readOnly": true, "type": "string" }, "excelFileBlobSasKey": { "description": "SAS key to access the ExcelFile blob.", "readOnly": true, "type": "string" } }, "title": "ExportJobsResult", "type": "object" }, "FeatureValidationRequest": { "description": "Base class for feature object", "type": "object", "allOf": [ { "$ref": "#/definitions/FeatureValidationRequestBase" } ], "properties": { "featureType": { "description": "backup support feature type.", "enum": [ "Invalid", "DataSourceType" ], "type": "string", "x-ms-enum": { "name": "FeatureType", "modelAsString": true } }, "featureName": { "description": "backup support feature name.", "type": "string" } }, "x-ms-discriminator-value": "FeatureValidationRequest" }, "FeatureValidationRequestBase": { "description": "Base class for Backup Feature support", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string", "readOnly": false } }, "discriminator": "objectType" }, "FeatureValidationResponse": { "description": "Feature Validation Response", "type": "object", "allOf": [ { "$ref": "#/definitions/FeatureValidationResponseBase" } ], "properties": { "featureType": { "description": "backup support feature type.", "enum": [ "Invalid", "DataSourceType" ], "type": "string", "x-ms-enum": { "name": "FeatureType", "modelAsString": true } }, "features": { "description": "Response features", "type": "array", "items": { "$ref": "#/definitions/SupportedFeature" } } }, "x-ms-discriminator-value": "FeatureValidationResponse" }, "FeatureValidationResponseBase": { "description": "Base class for Backup Feature support", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string", "readOnly": false } }, "discriminator": "objectType" }, "ImmediateCopyOption": { "allOf": [ { "$ref": "#/definitions/CopyOption" } ], "description": "Immediate copy Option", "required": [ "objectType" ], "title": "ImmediateCopyOption", "type": "object", "x-ms-discriminator-value": "ImmediateCopyOption" }, "InnerError": { "description": "Inner Error", "properties": { "additionalInfo": { "additionalProperties": { "type": "string" }, "description": "Any Key value pairs that can be provided to the client for additional verbose information.", "type": "object" }, "code": { "description": "Unique code for this error", "type": "string" }, "embeddedInnerError": { "$ref": "#/definitions/InnerError", "description": "Child Inner Error, to allow Nesting." } }, "title": "InnerError", "type": "object" }, "ItemLevelRestoreCriteria": { "description": "Class to contain criteria for item level restore", "required": [ "objectType" ], "type": "object", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "discriminator": "objectType" }, "ItemLevelRestoreTargetInfo": { "description": "Restore target info for Item level restore operation", "required": [ "restoreCriteria", "datasourceInfo", "recoveryOption" ], "type": "object", "allOf": [ { "$ref": "#/definitions/RestoreTargetInfoBase" } ], "properties": { "restoreCriteria": { "description": "Restore Criteria", "type": "array", "items": { "$ref": "#/definitions/ItemLevelRestoreCriteria" } }, "datasourceInfo": { "$ref": "#/definitions/Datasource", "description": "Information of target DS" }, "datasourceSetInfo": { "$ref": "#/definitions/DatasourceSet", "description": "Information of target DS Set" } }, "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo" }, "JobExtendedInfo": { "description": "Extended Information about the job", "properties": { "additionalDetails": { "additionalProperties": { "readOnly": true, "type": "string" }, "description": "Job's Additional Details" }, "backupInstanceState": { "description": "State of the Backup Instance", "readOnly": true, "type": "string" }, "dataTransferredInBytes": { "description": "Number of bytes transferred", "format": "double", "readOnly": true, "type": "number" }, "recoveryDestination": { "description": "Destination where restore is done", "readOnly": true, "type": "string" }, "sourceRecoverPoint": { "$ref": "#/definitions/RestoreJobRecoveryPointDetails", "description": "Details of the Source Recovery Point", "readOnly": true }, "subTasks": { "description": "List of Sub Tasks of the job", "items": { "$ref": "#/definitions/JobSubTask" }, "readOnly": true, "type": "array" }, "targetRecoverPoint": { "$ref": "#/definitions/RestoreJobRecoveryPointDetails", "description": "Details of the Target Recovery Point", "readOnly": true } }, "type": "object" }, "JobSubTask": { "description": "Details of Job's Sub Task", "properties": { "additionalDetails": { "additionalProperties": { "readOnly": true, "type": "string" }, "description": "Additional details of Sub Tasks" }, "taskId": { "description": "Task Id of the Sub Task", "format": "int32", "type": "integer" }, "taskName": { "description": "Name of the Sub Task", "type": "string" }, "taskProgress": { "description": "Progress of the Sub Task", "readOnly": true, "type": "string" }, "taskStatus": { "description": "Status of the Sub Task", "type": "string" } }, "required": [ "taskId", "taskName", "taskStatus" ], "type": "object" }, "OperationExtendedInfo": { "description": "Operation Extended Info", "properties": { "objectType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, "title": "OperationExtendedInfo", "type": "object" }, "OperationJobExtendedInfo": { "allOf": [ { "$ref": "#/definitions/OperationExtendedInfo" } ], "description": "Operation Job Extended Info", "properties": { "jobId": { "description": "Arm Id of the job created for this operation.", "type": "string" } }, "title": "OperationJobExtendedInfo", "type": "object", "x-ms-discriminator-value": "OperationJobExtendedInfo" }, "OperationResource": { "description": "Operation Resource", "properties": { "endTime": { "description": "End time of the operation", "format": "date-time", "type": "string" }, "error": { "$ref": "#/definitions/Error", "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section." }, "id": { "description": "It should match what is used to GET the operation result", "type": "string" }, "name": { "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", "type": "string" }, "properties": { "$ref": "#/definitions/OperationExtendedInfo", "description": "End time of the operation" }, "startTime": { "description": "Start time of the operation", "format": "date-time", "type": "string" }, "status": { "type": "string" } }, "title": "OperationResource", "type": "object" }, "PatchResourceRequestInput": { "description": "Patch Request content for Microsoft.DataProtection resources", "properties": { "identity": { "$ref": "#/definitions/DppIdentityDetails", "description": "Input Managed Identity Details" }, "tags": { "additionalProperties": { "type": "string" }, "description": "Resource tags.", "type": "object" } }, "title": "PatchResourceRequestInput", "type": "object" }, "PolicyInfo": { "description": "Policy Info in backupInstance", "properties": { "policyId": { "type": "string" }, "policyVersion": { "readOnly": true, "type": "string" }, "policyParameters": { "$ref": "#/definitions/PolicyParameters", "description": "Policy parameters for the backup instance" } }, "required": [ "policyId" ], "title": "PolicyInfo", "type": "object" }, "PolicyParameters": { "description": "Parameters in Policy", "type": "object", "properties": { "dataStoreParametersList": { "description": "Gets or sets the DataStore Parameters", "type": "array", "items": { "$ref": "#/definitions/DataStoreParameters" } } } }, "ProtectionStatusDetails": { "description": "Protection status details", "properties": { "errorDetails": { "$ref": "#/definitions/UserFacingError", "description": "Specifies the protection status error of the resource" }, "status": { "description": "Specifies the protection status of the resource", "enum": [ "ConfiguringProtection", "ConfiguringProtectionFailed", "ProtectionConfigured", "ProtectionStopped", "SoftDeleted", "SoftDeleting" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "Status" } } }, "title": "ProtectionStatusDetails", "type": "object" }, "RangeBasedItemLevelRestoreCriteria": { "description": "Item Level target info for restore operation", "type": "object", "allOf": [ { "$ref": "#/definitions/ItemLevelRestoreCriteria" } ], "properties": { "minMatchingValue": { "description": "minimum value for range prefix match", "type": "string" }, "maxMatchingValue": { "description": "maximum value for range prefix match", "type": "string" } }, "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria" }, "RecoveryPointDataStoreDetails": { "description": "RecoveryPoint datastore details", "properties": { "creationTime": { "format": "date-time", "type": "string" }, "expiryTime": { "format": "date-time", "type": "string" }, "id": { "type": "string" }, "metaData": { "type": "string" }, "state": { "type": "string" }, "type": { "type": "string" }, "visible": { "type": "boolean" }, "rehydrationExpiryTime": { "format": "date-time", "type": "string", "readOnly": true }, "rehydrationStatus": { "readOnly": true, "enum": [ "CREATE_IN_PROGRESS", "COMPLETED", "DELETE_IN_PROGRESS", "DELETED", "FAILED" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "RehydrationStatus" } } }, "title": "RecoveryPointDataStoreDetails", "type": "object" }, "RehydrationPriority": { "description": "Priority to be used for rehydration. Values High or Standard", "enum": [ "Invalid", "High", "Standard" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "RehydrationPriority" } }, "RestoreFilesTargetInfo": { "allOf": [ { "$ref": "#/definitions/RestoreTargetInfoBase" } ], "description": "Class encapsulating restore as files target parameters", "properties": { "targetDetails": { "$ref": "#/definitions/TargetDetails", "description": "Destination of RestoreAsFiles operation, when destination is not a datasource" } }, "required": [ "recoveryOption", "targetDetails" ], "type": "object", "x-ms-discriminator-value": "RestoreFilesTargetInfo" }, "RestoreJobRecoveryPointDetails": { "properties": { "recoveryPointID": { "type": "string" }, "recoveryPointTime": { "format": "date-time", "type": "string" } }, "type": "object" }, "RestoreTargetInfo": { "allOf": [ { "$ref": "#/definitions/RestoreTargetInfoBase" } ], "description": "Class encapsulating restore target parameters", "properties": { "datasourceInfo": { "$ref": "#/definitions/Datasource", "description": "Information of target DS" }, "datasourceSetInfo": { "$ref": "#/definitions/DatasourceSet", "description": "Information of target DS Set" } }, "required": [ "datasourceInfo", "recoveryOption" ], "type": "object", "x-ms-discriminator-value": "RestoreTargetInfo" }, "RestoreTargetInfoBase": { "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo", "discriminator": "objectType", "properties": { "objectType": { "description": "Type of Datasource object, used to initialize the right inherited type", "type": "string" }, "recoveryOption": { "description": "Recovery Option", "enum": [ "FailIfExists" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "RecoveryOption" } }, "restoreLocation": { "description": "Target Restore region", "type": "string" } }, "required": [ "objectType", "recoveryOption" ], "type": "object" }, "RestorableTimeRange": { "required": [ "startTime", "endTime" ], "type": "object", "properties": { "startTime": { "description": "Start time for the available restore range", "type": "string" }, "endTime": { "description": "End time for the available restore range", "type": "string" }, "objectType": { "type": "string" } } }, "RetentionTag": { "description": "Retention tag", "properties": { "eTag": { "description": "Retention Tag version.", "readOnly": true, "type": "string" }, "id": { "description": "Retention Tag version.", "readOnly": true, "type": "string" }, "tagName": { "description": "Retention Tag Name to relate it to retention rule.", "type": "string" } }, "required": [ "tagName" ], "title": "RetentionTag", "type": "object" }, "ScheduleBasedBackupCriteria": { "allOf": [ { "$ref": "#/definitions/BackupCriteria" } ], "description": "Schedule based backup criteria", "properties": { "absoluteCriteria": { "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum", "items": { "enum": [ "AllBackup", "FirstOfDay", "FirstOfMonth", "FirstOfWeek", "FirstOfYear" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "AbsoluteMarker" } }, "type": "array" }, "daysOfMonth": { "description": "This is day of the month from 1 to 28 other wise last of month", "items": { "$ref": "#/definitions/Day" }, "type": "array" }, "daysOfTheWeek": { "description": "It should be Sunday/Monday/T..../Saturday", "items": { "enum": [ "Friday", "Monday", "Saturday", "Sunday", "Thursday", "Tuesday", "Wednesday" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "DayOfWeek" } }, "type": "array" }, "monthsOfYear": { "description": "It should be January/February/....../December", "items": { "enum": [ "April", "August", "December", "February", "January", "July", "June", "March", "May", "November", "October", "September" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "Month" } }, "type": "array" }, "scheduleTimes": { "description": "List of schedule times for backup", "items": { "format": "date-time", "type": "string" }, "type": "array" }, "weeksOfTheMonth": { "description": "It should be First/Second/Third/Fourth/Last", "items": { "enum": [ "First", "Fourth", "Last", "Second", "Third" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "WeekNumber" } }, "type": "array" } }, "required": [ "objectType" ], "title": "ScheduleBasedBackupCriteria", "type": "object", "x-ms-discriminator-value": "ScheduleBasedBackupCriteria" }, "ScheduleBasedTriggerContext": { "allOf": [ { "$ref": "#/definitions/TriggerContext" } ], "description": "Schedule based trigger context", "properties": { "schedule": { "$ref": "#/definitions/BackupSchedule", "description": "Schedule for this backup" }, "taggingCriteria": { "description": "List of tags that can be applicable for given schedule.", "items": { "$ref": "#/definitions/TaggingCriteria" }, "type": "array" } }, "required": [ "objectType", "schedule", "taggingCriteria" ], "title": "ScheduleBasedTriggerContext", "type": "object", "x-ms-discriminator-value": "ScheduleBasedTriggerContext" }, "SourceLifeCycle": { "description": "Source LifeCycle", "properties": { "deleteAfter": { "$ref": "#/definitions/DeleteOption" }, "sourceDataStore": { "$ref": "#/definitions/DataStoreInfoBase" }, "targetDataStoreCopySettings": { "items": { "$ref": "#/definitions/TargetCopySetting" }, "type": "array" } }, "required": [ "deleteAfter", "sourceDataStore" ], "title": "SourceLifeCycle", "type": "object" }, "StorageSetting": { "description": "Storage setting", "properties": { "datastoreType": { "description": "Gets or sets the type of the datastore.", "enum": [ "ArchiveStore", "SnapshotStore", "VaultStore" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "StorageSettingStoreTypes" } }, "type": { "description": "Gets or sets the type.", "enum": [ "GeoRedundant", "LocallyRedundant" ], "type": "string", "x-ms-enum": { "modelAsString": true, "name": "StorageSettingTypes" } } }, "title": "StorageSetting", "type": "object" }, "SupportedFeature": { "description": "Elements class for feature request", "type": "object", "properties": { "featureName": { "description": "support feature type.", "type": "string" }, "supportStatus": { "description": "feature support status", "enum": [ "Invalid", "NotSupported", "AlphaPreview", "PrivatePreview", "PublicPreview", "GenerallyAvailable" ], "type": "string", "x-ms-enum": { "name": "FeatureSupportStatus", "modelAsString": true } }, "exposureControlledFeatures": { "description": "support feature type.", "type": "array", "items": { "type": "string" } } } }, "TaggingCriteria": { "description": "Tagging criteria", "properties": { "criteria": { "description": "Criteria which decides whether the tag can be applied to a triggered backup.", "items": { "$ref": "#/definitions/BackupCriteria" }, "type": "array" }, "isDefault": { "description": "Specifies if tag is default.", "type": "boolean" }, "taggingPriority": { "description": "Retention Tag priority.", "format": "int64", "type": "integer" }, "tagInfo": { "$ref": "#/definitions/RetentionTag", "description": "Retention tag information" } }, "required": [ "isDefault", "tagInfo", "taggingPriority" ], "title": "TaggingCriteria", "type": "object" }, "TargetCopySetting": { "description": "Target copy settings", "properties": { "copyAfter": { "$ref": "#/definitions/CopyOption", "description": "It can be CustomCopyOption or ImmediateCopyOption." }, "dataStore": { "$ref": "#/definitions/DataStoreInfoBase", "description": "Info of target datastore" } }, "required": [ "copyAfter", "dataStore" ], "title": "TargetCopySetting", "type": "object" }, "TargetDetails": { "description": "Class encapsulating target details, used where the destination is not a datasource", "properties": { "filePrefix": { "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them", "type": "string" }, "restoreTargetLocationType": { "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}", "enum": [ "Invalid", "AzureBlobs", "AzureFiles" ], "type": "string", "x-ms-enum": { "name": "RestoreTargetLocationType", "modelAsString": true } }, "url": { "description": "Url denoting the restore destination. It can point to container / file share etc", "type": "string" } }, "required": [ "filePrefix", "restoreTargetLocationType", "url" ], "type": "object" }, "TriggerBackupRequest": { "description": "Trigger backup request", "properties": { "backupRuleOptions": { "$ref": "#/definitions/AdHocBackupRuleOptions", "description": "Name for the Rule of the Policy which needs to be applied for this backup" } }, "required": [ "backupRuleOptions" ], "title": "TriggerBackupRequest", "type": "object" }, "TriggerContext": { "description": "Trigger context", "discriminator": "objectType", "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", "type": "string" } }, "required": [ "objectType" ], "title": "TriggerContext", "type": "object" }, "UserFacingError": { "description": "Error object used by layers that have access to localized content, and propagate that to user", "properties": { "code": { "description": "Unique code for this error", "type": "string" }, "details": { "description": "Additional related Errors", "items": { "$ref": "#/definitions/UserFacingError" }, "type": "array" }, "innerError": { "$ref": "#/definitions/InnerError", "description": "Inner Error" }, "isRetryable": { "description": "Whether the operation will be retryable or not", "type": "boolean" }, "isUserError": { "description": "Whether the operation is due to a user error or service error", "type": "boolean" }, "properties": { "description": "Any key value pairs that can be injected inside error object", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "type": "string" }, "recommendedAction": { "description": "RecommendedAction � localized.", "items": { "type": "string" }, "type": "array" }, "target": { "description": "Target of the error.", "type": "string" } }, "type": "object" }, "ValidateForBackupRequest": { "description": "Validate for backup request", "properties": { "backupInstance": { "$ref": "#/definitions/BackupInstance" } }, "required": [ "backupInstance" ], "title": "ValidateForBackupRequest", "type": "object" }, "ValidateRestoreRequestObject": { "description": "Validate restore request object", "properties": { "restoreRequestObject": { "$ref": "#/definitions/AzureBackupRestoreRequest", "description": "Gets or sets the restore request object." } }, "required": [ "restoreRequestObject" ], "title": "ValidateRestoreRequestObject", "type": "object" } }, "parameters": { "SubscriptionId": { "name": "subscriptionId", "in": "path", "description": "The subscription Id.", "required": true, "type": "string" }, "ResourceGroupName": { "name": "resourceGroupName", "in": "path", "description": "The name of the resource group where the backup vault is present.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "VaultName": { "name": "vaultName", "in": "path", "description": "The name of the backup vault.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "ApiVersion": { "name": "api-version", "in": "query", "description": "Client Api Version.", "required": true, "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" ] } ] }