{
"swagger": "2.0",
"info": {
"version": "2016-06-01",
"title": "RecoveryServicesBackupClient",
"x-ms-code-generation-settings": {
"internalConstructors": false
}
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
"post": {
"tags": [
"ItemLevelRecoveryConnections"
],
"description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.",
"operationId": "ItemLevelRecoveryConnections_Revoke",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup items. The value allowed is Azure.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup items.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of the backup items whose files or folders will be restored.",
"required": true,
"type": "string"
},
{
"name": "recoveryPointId",
"in": "path",
"description": "The string that identifies the recovery point. The iSCSI connection will be revoked for this protected data.",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "The revocation was accepted."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
"post": {
"tags": [
"ItemLevelRecoveryConnections"
],
"description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens File Explorer which displays the recoverable files and folders. This is an asynchronous operation. To get the provisioning status, call GetProtectedItemOperationResult API.",
"operationId": "ItemLevelRecoveryConnections_Provision",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup items.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup items.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of the backup item whose files or folders are to be restored.",
"required": true,
"type": "string"
},
{
"name": "recoveryPointId",
"in": "path",
"description": "The recovery point ID for backup data. The iSCSI connection will be provisioned for this backup data.",
"required": true,
"type": "string"
},
{
"name": "resourceILRRequest",
"in": "body",
"description": "The resource Item Level Recovery (ILR) request.",
"required": true,
"schema": {
"$ref": "#/definitions/ILRRequestResource"
}
}
],
"responses": {
"202": {
"description": "Accepted."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
"post": {
"tags": [
"Restores"
],
"description": "Restores the specified backup data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.",
"operationId": "Restores_Trigger",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup items.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup items.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The backup item to be restored.",
"required": true,
"type": "string"
},
{
"name": "recoveryPointId",
"in": "path",
"description": "The recovery point ID for the backup data to be restored.",
"required": true,
"type": "string"
},
{
"name": "resourceRestoreRequest",
"in": "body",
"description": "The resource restore request.",
"required": true,
"schema": {
"$ref": "#/definitions/RestoreRequestResource"
}
}
],
"responses": {
"202": {
"description": "The data restore operation was accepted."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
"get": {
"tags": [
"ProtectionPolicyOperationStatuses"
],
"description": "Provides the status of the asynchronous operations like backup or restore. The status can be: in progress, completed, or failed. You can refer to the Operation Status enumeration for the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with the operation.",
"operationId": "ProtectionPolicyOperationStatuses_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "policyName",
"in": "path",
"description": "The backup policy name used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The ID associated with this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/OperationStatus"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
"get": {
"tags": [
"ProtectionPolicyOperationResults"
],
"description": "Provides the result of an operation.",
"operationId": "ProtectionPolicyOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "policyName",
"in": "path",
"description": "The backup policy name used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The ID associated with this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionPolicyResource"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
"get": {
"tags": [
"ProtectionPolicies"
],
"description": "Gets the details of the backup policy associated with the Recovery Services vault. This is an asynchronous operation. Use the GetPolicyOperationResult API to Get the operation status.",
"operationId": "ProtectionPolicies_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "policyName",
"in": "path",
"description": "The backup policy name used in this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionPolicyResource"
}
}
},
"deprecated": false
},
"put": {
"tags": [
"ProtectionPolicies"
],
"description": "Creates or modifies a backup policy. This is an asynchronous operation. Use the GetPolicyOperationResult API to Get the operation status.",
"operationId": "ProtectionPolicies_CreateOrUpdate",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "policyName",
"in": "path",
"description": "The backup policy to be created.",
"required": true,
"type": "string"
},
{
"name": "resourceProtectionPolicy",
"in": "body",
"description": "The resource backup policy.",
"required": true,
"schema": {
"$ref": "#/definitions/ProtectionPolicyResource"
}
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionPolicyResource"
}
},
"202": {
"description": "Accepted."
}
},
"deprecated": false
},
"delete": {
"tags": [
"ProtectionPolicies"
],
"description": "Deletes the specified backup policy from your Recovery Services vault. This is an asynchronous operation. Use the GetPolicyOperationResult API to Get the operation status.",
"operationId": "ProtectionPolicies_Delete",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "policyName",
"in": "path",
"description": "The name of the backup policy to be deleted.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
"get": {
"tags": [
"ProtectionPolicies"
],
"description": "Lists the backup policies associated with the Recovery Services vault. The API provides parameters to Get scoped results.",
"operationId": "ProtectionPolicies_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "The following equation can be used to filter the list of backup policies. backupManagementType eq {AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql}.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionPolicyResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
"x-ms-pageable": {
"nextLinkName": null
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": {
"get": {
"tags": [
"ProtectionContainerOperationResults"
],
"description": "Gets the result of any operation on the container.",
"operationId": "ProtectionContainerOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the container.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name used for this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The operation ID used for this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionContainerResource"
}
},
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": {
"get": {
"tags": [
"ProtectionContainerRefreshOperationResults"
],
"description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.",
"operationId": "ProtectionContainerRefreshOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the container.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The operation ID used for this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": {
"get": {
"tags": [
"ProtectionContainers"
],
"description": "Gets details of the specific container registered to your Recovery Services vault.",
"operationId": "ProtectionContainers_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the container.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name used for this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionContainerResource"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": {
"get": {
"tags": [
"ProtectionContainers"
],
"description": "Lists the containers registered to the Recovery Services vault.",
"operationId": "ProtectionContainers_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "The following equation is used to sort or filter the containers registered to the vault. providerType eq {AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql} and status eq {Unknown, NotRegistered, Registered, Registering} and friendlyName eq {containername} and backupManagementType eq {AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql}.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectionContainerResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/BMSContainerQueryObject",
"x-ms-pageable": {
"nextLinkName": null
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
"post": {
"tags": [
"ProtectionContainers"
],
"description": "Discovers the containers in the subscription that can be protected in a Recovery Services vault. This is an asynchronous operation. To learn the status of the operation, use the GetRefreshOperationResult API.",
"operationId": "ProtectionContainers_Refresh",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the container.",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "Accepted."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
"get": {
"tags": [
"RecoveryPoints"
],
"description": "Provides the backup data for the RecoveryPointID. This is an asynchronous operation. To learn the status of the operation, call the GetProtectedItemOperationResult API.",
"operationId": "RecoveryPoints_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of the backup item used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "recoveryPointId",
"in": "path",
"description": "The RecoveryPointID associated with this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/RecoveryPointResource"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
"get": {
"tags": [
"RecoveryPoints"
],
"description": "Lists the recovery points, or backup copies, for the specified backup item.",
"operationId": "RecoveryPoints_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of backup item used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "startDate eq {yyyy-mm-dd hh:mm:ss PM} and endDate { yyyy-mm-dd hh:mm:ss PM}.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/RecoveryPointResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/BMSRPQueryObject",
"x-ms-pageable": {
"nextLinkName": null
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
"post": {
"tags": [
"Backups"
],
"description": "Triggers the backup job for the specified backup item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.",
"operationId": "Backups_Trigger",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of backup item used in this POST operation.",
"required": true,
"type": "string"
},
{
"name": "resourceBackupRequest",
"in": "body",
"description": "The resource backup request.",
"required": true,
"schema": {
"$ref": "#/definitions/BackupRequestResource"
}
}
],
"responses": {
"202": {
"description": "Accepted"
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
"get": {
"tags": [
"ProtectedItemOperationStatuses"
],
"description": "Gets the status of an operation such as triggering a backup or restore. The status can be: In progress, Completed, or Failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.",
"operationId": "ProtectedItemOperationStatuses_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of backup item used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The OperationID used in this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/OperationStatus"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
"get": {
"tags": [
"ProtectedItemOperationResults"
],
"description": "Gets the result of any operation on the backup item.",
"operationId": "ProtectedItemOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of backup item used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "The OperationID used in this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectedItemResource"
}
},
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
"get": {
"tags": [
"ProtectedItems"
],
"description": "Provides a pageable list of all items in a subscription, that can be protected.",
"operationId": "ProtectedItems_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": " itemType eq { VM , FileFolder , AzureSqlDb , SQLDB , Exchange , Sharepoint , DPMUnknown } and providerType eq { AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql } and policyName eq {policyName} and containerName eq {containername} and backupManagementType eq { AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql }.",
"required": false,
"type": "string"
},
{
"name": "$skipToken",
"in": "query",
"description": " The Skip Token filter.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectedItemResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/ProtectedItemQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
"get": {
"tags": [
"ProtectedItems"
],
"description": "Provides the details of the backup item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
"operationId": "ProtectedItems_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The backup item name used in this GET operation.",
"required": true,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "expand eq {extendedInfo}. This filter enables you to choose (or filter) specific items in the list of backup items.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/ProtectedItemResource"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/GetProtectedItemQueryObject"
},
"put": {
"tags": [
"ProtectedItems"
],
"description": "This operation enables an item to be backed up, or modifies the existing backup policy information for an item that has been backed up. This is an asynchronous operation. To learn the status of the operation, call the GetItemOperationResult API.",
"operationId": "ProtectedItems_CreateOrUpdate",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": "The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The name of the backup item.",
"required": true,
"type": "string"
},
{
"name": "resourceProtectedItem",
"in": "body",
"description": "The resource backup item.",
"required": true,
"schema": {
"$ref": "#/definitions/ProtectedItemResource"
}
}
],
"responses": {
"202": {
"description": "Accepted."
}
},
"deprecated": false
},
"delete": {
"tags": [
"ProtectedItems"
],
"description": "Used to disable the backup job for an item within a container. This is an asynchronous operation. To learn the status of the request, call the GetItemOperationResult API.",
"operationId": "ProtectedItems_Delete",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "fabricName",
"in": "path",
"description": " The fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
"description": "The container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
"description": "The backup item to be deleted.",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": {
"get": {
"tags": [
"ProtectableItems"
],
"description": "Based on the query filter and the pagination parameters, this operation provides a pageable list of objects within the subscription that can be protected.",
"operationId": "ProtectableItems_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "Using the following query filters, you can sort a specific backup item based on: type of backup item, status, name of the item, and more. providerType eq { AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql } and status eq { NotProtected , Protecting , Protected } and friendlyName {name} and skipToken eq {string which provides the next set of list} and topToken eq {int} and backupManagementType eq { AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql }.",
"required": false,
"type": "string"
},
{
"name": "$skipToken",
"in": "query",
"description": "The Skip Token filter.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/WorkloadProtectableItemResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/BMSPOQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
"get": {
"tags": [
"ExportJobsOperationResults"
],
"description": "Gets the result of the operation triggered by the ExportJob API.",
"operationId": "ExportJobsOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "operationId",
"in": "path",
"description": "The ID associated with the export job.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/OperationResultInfoBaseResource"
}
},
"202": {
"description": "Accepted"
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
"get": {
"tags": [
"JobOperationResults"
],
"description": "Gets the result of the operation.",
"operationId": "JobOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "jobName",
"in": "path",
"description": "Job name associated with this GET operation.",
"required": true,
"type": "string"
},
{
"name": "operationId",
"in": "path",
"description": "OperationID associated with this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK."
},
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
"post": {
"tags": [
"Jobs"
],
"description": "Exports all jobs for a given Shared Access Signatures (SAS) URL. The SAS URL expires within 15 minutes of its creation.",
"operationId": "Jobs_Export",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "The OData filter options. status eq { InProgress , Completed , Failed , CompletedWithWarnings , Cancelled , Cancelling } and backupManagementType eq {AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql } and operation eq { ConfigureBackup , Backup , Restore , DisableBackup , DeleteBackupData } and jobId eq {guid} and startTime eq { yyyy-mm-dd hh:mm:ss PM } and endTime eq { yyyy-mm-dd hh:mm:ss PM }.",
"required": false,
"type": "string"
}
],
"responses": {
"202": {
"description": "Accepted."
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/JobQueryObject"
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
"post": {
"tags": [
"JobCancellations"
],
"description": "Cancels the job. This is an asynchronous operation. To know the status of the cancellation, call the GetCancelOperationResult API.",
"operationId": "JobCancellations_Trigger",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "jobName",
"in": "path",
"description": "Name of the job to cancel.",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "Accepted."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
"get": {
"tags": [
"JobDetails"
],
"description": "Gets extended information associated with the job.",
"operationId": "JobDetails_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "jobName",
"in": "path",
"description": "Name of the job associated with this GET operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/JobResource"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
"get": {
"tags": [
"Jobs"
],
"description": "Provides a pageable list of jobs.",
"operationId": "Jobs_List",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "The following equation can be used to filter the list of jobs based on status, type, start date, and end date. status eq { InProgress , Completed , Failed , CompletedWithWarnings , Cancelled , Cancelling } and backupManagementType eq {AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql } and operation eq { ConfigureBackup , Backup , Restore , DisableBackup , DeleteBackupData } and jobId eq {guid} and startTime eq { yyyy-mm-dd hh:mm:ss PM } and endTime eq { yyyy-mm-dd hh:mm:ss PM }.",
"required": false,
"type": "string"
},
{
"name": "$skipToken",
"in": "query",
"description": "The Skip Token filter.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/JobResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/JobQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": {
"get": {
"tags": [
"BackupOperationStatuses"
],
"description": "Gets the status of an operation such as triggering a backup or restore. The status can be In progress, Completed or Failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.",
"operationId": "BackupOperationStatuses_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "operationId",
"in": "path",
"description": "The ID of the operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/OperationStatus"
}
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
"get": {
"tags": [
"BackupOperationResults"
],
"description": "Provides the status of the delete operations, for example, deleting a backup item. Once the operation starts, the response status code is Accepted. The response status code remains in this state until the operation reaches completion. On successful completion, the status code changes to OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.",
"operationId": "BackupOperationResults_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "operationId",
"in": "path",
"description": "The ID of the operation.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK."
},
"202": {
"description": "Accepted."
},
"204": {
"description": "No content."
}
},
"deprecated": false
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
"get": {
"tags": [
"BackupEngines"
],
"description": "The backup management servers registered to a Recovery Services vault. This returns a pageable list of servers.",
"operationId": "BackupEngines_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "$filter",
"in": "query",
"description": "Use this filter to choose the specific backup management server. backupManagementType { AzureIaasVM, MAB, DPM, AzureBackupServer, AzureSql }.",
"required": false,
"type": "string"
},
{
"name": "$skipToken",
"in": "query",
"description": "The Skip Token filter.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK.",
"schema": {
"$ref": "#/definitions/BackupEngineBaseResourceList"
}
}
},
"deprecated": false,
"x-ms-odata": "#/definitions/BMSBackupEngineQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
}
},
"definitions": {
"Object": {
"description": "Base of all objects.",
"type": "object"
},
"Resource": {
"description": "Base for all resources.",
"type": "object",
"properties": {
"id": {
"description": "Resource ID represents the complete path to the resource.",
"type": "string"
},
"name": {
"description": "Resource name associated with the resource.",
"type": "string"
},
"type": {
"description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
"type": "string"
},
"location": {
"description": "Resource location.",
"type": "string"
},
"tags": {
"description": "Resource tags.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"eTag": {
"description": "Optional ETag.",
"type": "string"
}
},
"x-ms-azure-resource": true
},
"JobResourceList": {
"description": "List of Job resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "List of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/JobResource"
}
}
}
},
"BackupEngineBase": {
"description": "The base backup engine class. All workload-specific backup engines derive from this class.",
"type": "object",
"properties": {
"friendlyName": {
"description": "The friendly name of the backup engine.",
"type": "string"
},
"backupManagementType": {
"description": "The type of backup management associated with the backup engine.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"registrationStatus": {
"description": "The status of the backup engine registration with the Recovery Services vault.",
"type": "string"
},
"healthStatus": {
"description": "The backup status of the backup engine.",
"type": "string"
},
"backupEngineType": {
"description": "The type of the backup engine.",
"type": "string"
},
"canReRegister": {
"description": "The flag indicating whether the backup engine be registered again, once the engine has been initially registered.",
"type": "boolean"
},
"backupEngineId": {
"description": "The ID of the backup engine.",
"type": "string"
}
},
"discriminator": "backupEngineType"
},
"BMSBackupEngineQueryObject": {
"description": "The query parameters used to GET the list of backup engines.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type associated with the backup engine.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
}
}
},
"OperationStatus": {
"description": "Operation status.",
"type": "object",
"properties": {
"id": {
"description": "ID of the operation.",
"type": "string"
},
"name": {
"description": "Name of the operation.",
"type": "string"
},
"status": {
"description": "Operation status.",
"enum": [
"Invalid",
"InProgress",
"Succeeded",
"Failed",
"Canceled"
],
"type": "string",
"x-ms-enum": {
"name": "OperationStatusValues",
"modelAsString": false
}
},
"startTime": {
"format": "date-time",
"description": "The operation start time. The format of the time is ISO-8601.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The operation end time. The format of the time is ISO-8601.",
"type": "string"
},
"error": {
"$ref": "#/definitions/OperationStatusError",
"description": "Error information related to this operation."
},
"properties": {
"$ref": "#/definitions/OperationStatusExtendedInfo",
"description": "Additional information associated with this operation."
}
}
},
"OperationStatusError": {
"description": "Error information associated with the operation status call.",
"type": "object",
"properties": {
"code": {
"description": "The error code for the failed operation.",
"type": "string"
},
"message": {
"description": "The error message for the failed operation.",
"type": "string"
}
}
},
"OperationStatusExtendedInfo": {
"description": "The base class for additional information about the operation status.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is used as the discriminator for deciding between types, in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"JobResource": {
"description": "Defines the workload-agnostic properties for a job.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/Job"
}
}
},
"OperationWorkerResponse": {
"description": "The base class for operation result responses.",
"type": "object",
"properties": {
"statusCode": {
"description": "The HTTP status code of the operation.",
"enum": [
"Continue",
"SwitchingProtocols",
"OK",
"Created",
"Accepted",
"NonAuthoritativeInformation",
"NoContent",
"ResetContent",
"PartialContent",
"MultipleChoices",
"Ambiguous",
"MovedPermanently",
"Moved",
"Found",
"Redirect",
"SeeOther",
"RedirectMethod",
"NotModified",
"UseProxy",
"Unused",
"TemporaryRedirect",
"RedirectKeepVerb",
"BadRequest",
"Unauthorized",
"PaymentRequired",
"Forbidden",
"NotFound",
"MethodNotAllowed",
"NotAcceptable",
"ProxyAuthenticationRequired",
"RequestTimeout",
"Conflict",
"Gone",
"LengthRequired",
"PreconditionFailed",
"RequestEntityTooLarge",
"RequestUriTooLong",
"UnsupportedMediaType",
"RequestedRangeNotSatisfiable",
"ExpectationFailed",
"UpgradeRequired",
"InternalServerError",
"NotImplemented",
"BadGateway",
"ServiceUnavailable",
"GatewayTimeout",
"HttpVersionNotSupported"
],
"type": "string",
"x-ms-enum": {
"name": "HttpStatusCode",
"modelAsString": false
}
},
"Headers": {
"description": "The HTTP headers associated with this operation.",
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"Job": {
"description": "Defines workload-agnostic properties for a job.",
"type": "object",
"properties": {
"entityFriendlyName": {
"description": "The friendly name of the entity on which the current job is executing.",
"type": "string"
},
"backupManagementType": {
"description": "The backup management type for the current job.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"operation": {
"description": "The operation name.",
"type": "string"
},
"status": {
"description": "The job status.",
"type": "string"
},
"startTime": {
"format": "date-time",
"description": "The start time.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The end time.",
"type": "string"
},
"activityId": {
"description": "ActivityId of job.",
"type": "string"
},
"jobType": {
"description": "This property is the discriminator for deciding between the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "jobType"
},
"JobQueryObject": {
"description": "The filters to list the jobs.",
"type": "object",
"properties": {
"status": {
"description": "Status of the job.",
"enum": [
"Invalid",
"InProgress",
"Completed",
"Failed",
"CompletedWithWarnings",
"Cancelled",
"Cancelling"
],
"type": "string",
"x-ms-enum": {
"name": "JobStatus",
"modelAsString": false
}
},
"backupManagementType": {
"description": "Type of backup management for the job.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"operation": {
"description": "The type of operation.",
"enum": [
"Invalid",
"ConfigureBackup",
"Backup",
"Restore",
"DisableBackup",
"DeleteBackupData"
],
"type": "string",
"x-ms-enum": {
"name": "JobOperationType",
"modelAsString": false
}
},
"jobId": {
"description": "The ID of the job. Each jobID is unique.",
"type": "string"
},
"startTime": {
"format": "date-time",
"description": "The time when the job starts. The value is in UTC.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The time when the job ends. The value is in UTC.",
"type": "string"
}
}
},
"WorkloadProtectableItemResourceList": {
"description": "The list of WorkloadProtectableItem resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "List of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/WorkloadProtectableItemResource"
}
}
}
},
"OperationResultInfoBase": {
"description": "The base class for operation result information.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is the discriminator for deciding between the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"WorkloadProtectableItemResource": {
"description": "The base class for the backup item. Workload-specific backup items are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/WorkloadProtectableItem"
}
}
},
"ProtectedItemResource": {
"description": "The base class for backup items.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/ProtectedItem"
}
}
},
"WorkloadProtectableItem": {
"description": "The base class for backup item. Workload-specific backup items are derived from this class.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type.",
"type": "string"
},
"protectableItemType": {
"description": "The type of the backup item.",
"type": "string"
},
"friendlyName": {
"description": "The friendly name of the backup item.",
"type": "string"
},
"protectionState": {
"description": "The state of the back up item.",
"enum": [
"Invalid",
"NotProtected",
"Protecting",
"Protected"
],
"type": "string",
"x-ms-enum": {
"name": "ProtectionStatus",
"modelAsString": false
}
}
},
"discriminator": "protectableItemType"
},
"BMSPOQueryObject": {
"description": "Filters the list of backup items.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"status": {
"description": "The backup status query parameter.",
"type": "string"
},
"friendlyName": {
"description": "The friendly name for the item.",
"type": "string"
}
}
},
"ProtectedItemResourceList": {
"description": "The list of ProtectedItem resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "The list of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/ProtectedItemResource"
}
}
}
},
"ProtectedItem": {
"description": "The base class for backup items.",
"type": "object",
"properties": {
"protectedItemType": {
"description": "The backup item type.",
"type": "string"
},
"backupManagementType": {
"description": "The backup management type associated with the backup item.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"workloadType": {
"description": "The workload type for this item.",
"enum": [
"Invalid",
"VM",
"FileFolder",
"AzureSqlDb",
"SQLDB",
"Exchange",
"Sharepoint",
"DPMUnknown"
],
"type": "string",
"x-ms-enum": {
"name": "DataSourceType",
"modelAsString": false
}
},
"sourceResourceId": {
"description": "The ID of the resource to be backed up.",
"type": "string"
},
"policyId": {
"description": "The ID of the backup policy associated with this backup item.",
"type": "string"
},
"lastRecoveryPoint": {
"format": "date-time",
"description": "The timestamp when the most recent backup copy was created for this backup item.",
"type": "string"
}
},
"discriminator": "protectedItemType"
},
"GetProtectedItemQueryObject": {
"description": "This object filters the list of backup items.",
"type": "object",
"properties": {
"expand": {
"description": "Specifies if the additional information should be provided for this item.",
"type": "string"
}
}
},
"BackupRequestResource": {
"description": "Base class for the backup request. Workload-specific backup requests are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/BackupRequest"
}
}
},
"ProtectedItemQueryObject": {
"description": "Filters the list of backup items.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type associated with an item.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"itemType": {
"description": "The workload type associated with an item.",
"enum": [
"Invalid",
"VM",
"FileFolder",
"AzureSqlDb",
"SQLDB",
"Exchange",
"Sharepoint",
"DPMUnknown"
],
"type": "string",
"x-ms-enum": {
"name": "DataSourceType",
"modelAsString": false
}
},
"policyName": {
"description": "The name of the backup policy associated with the item.",
"type": "string"
},
"containerName": {
"description": "The name of the container.",
"type": "string"
}
}
},
"RecoveryPointResourceList": {
"description": "The list of RecoveryPoint resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "The list of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/RecoveryPointResource"
}
}
}
},
"BackupRequest": {
"description": "The base class for a backup request. Workload-specific backup requests are derived from this class.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"RecoveryPointResource": {
"description": "The base class for backup copies. Workload-specific backup copies are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/RecoveryPoint"
}
}
},
"ProtectionContainerResourceList": {
"description": "The list of ProtectionContainer resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "The list of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/ProtectionContainerResource"
}
}
}
},
"RecoveryPoint": {
"description": "The base class for backup copies. Workload-specific backup copies are derived from this class.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"BMSRPQueryObject": {
"description": "Filters the list of backup copies based on the property.",
"type": "object",
"properties": {
"startDate": {
"format": "date-time",
"description": "Use backup copies created after this time.",
"type": "string"
},
"endDate": {
"format": "date-time",
"description": "Use backup copies created before this time.",
"type": "string"
}
}
},
"ProtectionContainerResource": {
"description": "Base class for a container with backup items. Containers with specific workloads are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/ProtectionContainer"
}
}
},
"ProtectionPolicyResourceList": {
"description": "The list of ProtectionPolicy resources.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "The list of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/ProtectionPolicyResource"
}
}
}
},
"ProtectionContainer": {
"description": "The base class for a container with backup items. Containers with specific workloads are derived from this class.",
"type": "object",
"properties": {
"friendlyName": {
"description": "Friendly name of the container.",
"type": "string"
},
"backupManagementType": {
"description": "The backup management type for the container.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"registrationStatus": {
"description": "The container's registration status with the Recovery Services vault.",
"type": "string"
},
"healthStatus": {
"description": "The status of the container's health.",
"type": "string"
},
"containerType": {
"description": "The type assigned to the container. The values to use for each of these properties are:
1. Compute Azure VM is Microsoft.Compute/virtualMachines
2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines
3. Windows machines (like Azure Backup Server and DPM) is Windows
4. Azure SQL instance is AzureSqlContainer.",
"type": "string",
"readOnly": true
},
"protectableObjectType": {
"description": "The protectable object type associated with the container.",
"type": "string"
}
},
"discriminator": "protectableObjectType"
},
"BMSContainerQueryObject": {
"description": "The query filters that can be used with the list containers API.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type for this container.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
},
"status": {
"description": "The status of the container's registration with the Recovery Services vault.",
"type": "string"
},
"friendlyName": {
"description": "The friendly name of the container.",
"type": "string"
}
}
},
"ProtectionPolicyResource": {
"description": "The base class for backup policy. Workload-specific backup policies are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/ProtectionPolicy"
}
}
},
"RestoreRequestResource": {
"description": "The base class for a restore request. Workload-specific restore requests are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/RestoreRequest"
}
}
},
"ProtectionPolicy": {
"description": "The base class for a backup policy. Workload-specific backup policies are derived from this class.",
"type": "object",
"properties": {
"protectedItemsCount": {
"format": "int32",
"description": "The number of items associated with this policy.",
"type": "integer"
},
"backupManagementType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "backupManagementType"
},
"ProtectionPolicyQueryObject": {
"description": "This object filters the list of backup policies.",
"type": "object",
"properties": {
"backupManagementType": {
"description": "The backup management type associated with the backup policy.",
"enum": [
"Invalid",
"AzureIaasVM",
"MAB",
"DPM",
"AzureBackupServer",
"AzureSql"
],
"type": "string",
"x-ms-enum": {
"name": "BackupManagementType",
"modelAsString": false
}
}
}
},
"ILRRequestResource": {
"description": "The parameters to restore files or folders.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/ILRRequest"
}
}
},
"RestoreRequest": {
"description": "The base class for restore requests. Workload-specific restore requests are derived from this class.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"ILRRequest": {
"description": "Parameters to restore file or folders API.",
"type": "object",
"properties": {
"objectType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "objectType"
},
"AzureBackupServerEngine": {
"description": "The backup engine type when Azure Backup Server is used to manage the backups.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/BackupEngineBase"
}
],
"x-ms-discriminator-value": "AzureBackupServerEngine"
},
"DpmBackupEngine": {
"description": "The backup engine type when Data Protection Manager (DPM) is used to manage backups.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/BackupEngineBase"
}
],
"x-ms-discriminator-value": "DpmBackupEngine"
},
"AzureSqlContainer": {
"description": "Azure SQL workload-specific container.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionContainer"
}
],
"x-ms-discriminator-value": "AzureSqlContainer"
},
"IaaSVMContainer": {
"description": "IaaS VM workload-specific container.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionContainer"
}
],
"properties": {
"virtualMachineId": {
"description": "The fully qualified Resource Manager URL of the virtual machine represented by this Azure IaaS VM container.",
"type": "string"
},
"virtualMachineVersion": {
"description": "Specifies whether the container represents a classic or a Resource Manager-deployed virtual machine.",
"type": "string"
},
"resourceGroup": {
"description": "The resource group name associated with the Recovery Services vault.",
"type": "string"
}
},
"x-ms-discriminator-value": "IaaSVMContainer"
},
"MabContainer": {
"description": "The container associated with items backed up using Azure Backup Server.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionContainer"
}
],
"properties": {
"canReRegister": {
"description": "The container can be registered one more time.",
"type": "boolean"
},
"containerId": {
"format": "int64",
"description": "The ID for the container.",
"type": "integer"
},
"protectedItemCount": {
"format": "int64",
"description": "The number of backup items in the container.",
"type": "integer"
},
"agentVersion": {
"description": "The version of the agent used with this container.",
"type": "string"
},
"extendedInfo": {
"$ref": "#/definitions/MabContainerExtendedInfo",
"description": "Additional information for the container."
}
},
"x-ms-discriminator-value": "MABWindowsContainer"
},
"MabContainerExtendedInfo": {
"description": "Additional information for the container.",
"type": "object",
"properties": {
"lastRefreshedAt": {
"format": "date-time",
"description": "The time stamp when this container was refreshed.",
"type": "string"
},
"backupItemType": {
"description": "The type of backup items associated with this container.",
"enum": [
"Invalid",
"VM",
"FileFolder",
"AzureSqlDb",
"SQLDB",
"Exchange",
"Sharepoint",
"DPMUnknown"
],
"type": "string",
"x-ms-enum": {
"name": "BackupItemType",
"modelAsString": false
}
},
"backupItems": {
"description": "The list of backup items associated with this container.",
"type": "array",
"items": {
"type": "string"
}
},
"policyName": {
"description": "The backup policy associated with this container.",
"type": "string"
},
"lastBackupStatus": {
"description": "The latest backup status of this container.",
"type": "string"
}
}
},
"IaaSVMProtectableItem": {
"description": "This Azure VM workload-specific (also known as IaaS VM workload-specific) backup item can be backed up.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/WorkloadProtectableItem"
}
],
"properties": {
"virtualMachineId": {
"description": "The fully qualified Resource Manager ID of the virtual machine.",
"type": "string"
}
}
},
"AzureIaaSVMProtectedItem": {
"description": "This Azure VM workload-specific (also known as IaaS VM workload-specific) backup item has been backed up.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectedItem"
}
],
"properties": {
"friendlyName": {
"description": "The friendly name of the VM represented by this backup item.",
"type": "string"
},
"virtualMachineId": {
"description": "The fully qualified Resource Manager ID of the virtual machine represented by this item.",
"type": "string"
},
"protectionStatus": {
"description": "The backup status of this backup item.",
"type": "string"
},
"protectionState": {
"description": "The backup state of this backup item.",
"enum": [
"Invalid",
"IRPending",
"Protected",
"ProtectionError",
"ProtectionStopped",
"ProtectionPaused"
],
"type": "string",
"x-ms-enum": {
"name": "ProtectionState",
"modelAsString": false
}
},
"lastBackupStatus": {
"description": "The last backup operation status. The possible values are: Healthy or Unhealthy.",
"type": "string"
},
"lastBackupTime": {
"format": "date-time",
"description": "The timestamp of the last backup operation for this backup item.",
"type": "string"
},
"extendedInfo": {
"$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
"description": "Additional information for this backup item."
}
},
"x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
},
"AzureIaaSVMProtectedItemExtendedInfo": {
"description": "Additional information for the Azure VM (also known as IaaS VM)-specific backup item.",
"type": "object",
"properties": {
"oldestRecoveryPoint": {
"format": "date-time",
"description": "The oldest backup copy available for this backup item.",
"type": "string"
},
"recoveryPointCount": {
"format": "int32",
"description": "The number of backup copies available for this backup item.",
"type": "integer"
},
"policyInconsistent": {
"description": "Specifies if the backup policy associated with the backup item is inconsistent.",
"type": "boolean"
}
}
},
"MabFileFolderProtectedItem": {
"description": "This is a file or folder workload-specific backup item.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectedItem"
}
],
"properties": {
"friendlyName": {
"description": "The friendly name of this backup item.",
"type": "string"
},
"computerName": {
"description": "The name of the computer associated with this backup item.",
"type": "string"
},
"lastBackupStatus": {
"description": "The status of last backup operation.",
"type": "string"
},
"protectionState": {
"description": "The states for this property are: Protected, ProtectionStopped, IRPending, or ProtectionError.",
"type": "string"
},
"isScheduledForDeferredDelete": {
"type": "boolean"
},
"extendedInfo": {
"$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
"description": "Additional information for this backup item."
}
},
"x-ms-discriminator-value": "MabFileFolderProtectedItem"
},
"MabFileFolderProtectedItemExtendedInfo": {
"description": "Additional information for the backup item.",
"type": "object",
"properties": {
"lastRefreshedAt": {
"format": "date-time",
"description": "The last day and time the agent synced with the service.",
"type": "string"
},
"oldestRecoveryPoint": {
"format": "date-time",
"description": "The oldest backup copy available.",
"type": "string"
},
"recoveryPointCount": {
"format": "int32",
"description": "The number of backup copies associated with the backup item.",
"type": "integer"
}
}
},
"AzureSqlProtectedItem": {
"description": "This is an Azure SQL workload-specific backup item.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectedItem"
}
],
"properties": {
"protectedItemDataId": {
"description": "The internal ID of a backup item. The internal ID is used by the Azure SQL Backup engine to contact Recovery Services.",
"type": "string"
},
"protectionState": {
"description": "The backup state of the backup item.",
"enum": [
"Invalid",
"IRPending",
"Protected",
"ProtectionError",
"ProtectionStopped",
"ProtectionPaused"
],
"type": "string",
"x-ms-enum": {
"name": "ProtectedItemState",
"modelAsString": false
}
},
"extendedInfo": {
"$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
"description": "Additional information for this backup item."
}
},
"x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
},
"AzureSqlProtectedItemExtendedInfo": {
"description": "Additional information for the Azure SQL specific backup item.",
"type": "object",
"properties": {
"oldestRecoveryPoint": {
"format": "date-time",
"description": "The oldest backup copy available for this item in the service.",
"type": "string"
},
"recoveryPointCount": {
"format": "int32",
"description": "The number of available backup copies for this backup item.",
"type": "integer"
},
"policyState": {
"description": "The state of the backup policy associated with this backup item.",
"type": "string"
}
}
},
"IaasVMBackupRequest": {
"description": "This is an Azure VM (also known as IaaS VM) workload-specific backup request.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/BackupRequest"
}
],
"properties": {
"recoveryPointExpiryTimeInUTC": {
"format": "date-time",
"description": "The backup copy will expire after the time specified. The time is in UTC format.",
"type": "string"
}
},
"x-ms-discriminator-value": "IaasVMBackupRequest"
},
"AzureIaaSVMProtectionPolicy": {
"description": "Azure VM (also known as IaaS VM) workload-specific backup policy.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionPolicy"
}
],
"properties": {
"schedulePolicy": {
"$ref": "#/definitions/SchedulePolicy",
"description": "The backup schedule specified as part of backup policy."
},
"retentionPolicy": {
"$ref": "#/definitions/RetentionPolicy",
"description": "The retention policy with the details on backup copy retention ranges."
}
},
"x-ms-discriminator-value": "AzureIaasVM"
},
"SchedulePolicy": {
"description": "The base class for backup schedules.",
"type": "object",
"properties": {
"schedulePolicyType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "schedulePolicyType"
},
"RetentionPolicy": {
"description": "The base class for retention policy.",
"type": "object",
"properties": {
"retentionPolicyType": {
"description": "This property is used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
},
"discriminator": "retentionPolicyType"
},
"MabProtectionPolicy": {
"description": "The backup policy for the file or folder container.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionPolicy"
}
],
"properties": {
"schedulePolicy": {
"$ref": "#/definitions/SchedulePolicy",
"description": "The schedule specified in the backup policy."
},
"retentionPolicy": {
"$ref": "#/definitions/RetentionPolicy",
"description": "The details specified in the Retention policy."
}
},
"x-ms-discriminator-value": "MAB"
},
"AzureSqlProtectionPolicy": {
"description": " The Azure SQL workload-specific backup policy.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ProtectionPolicy"
}
],
"properties": {
"retentionPolicy": {
"$ref": "#/definitions/RetentionPolicy",
"description": "The retention policy details."
}
},
"x-ms-discriminator-value": "AzureSql"
},
"IaasVMRecoveryPoint": {
"description": "Azure VM (also known as IaaS VM) workload-specific backup copy.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/RecoveryPoint"
}
],
"properties": {
"recoveryPointType": {
"description": "Type of the backup copy.",
"type": "string"
},
"recoveryPointTime": {
"format": "date-time",
"description": "The date and time when the backup copy was created.",
"type": "string"
},
"recoveryPointAdditionalInfo": {
"description": "Additional information associated with this backup copy.",
"type": "string"
},
"sourceVMStorageType": {
"description": "The storage type for the VM whose backup copy was created.",
"type": "string"
},
"isSourceVMEncrypted": {
"description": "Identifies whether the VM was encrypted when the backup copy is created.",
"type": "boolean"
},
"keyAndSecret": {
"$ref": "#/definitions/KeyAndSecretDetails",
"description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
},
"isInstantILRSessionActive": {
"description": "Answer to the question - Is the session to recover items from this backup copy still active.",
"type": "boolean"
}
},
"x-ms-discriminator-value": "IaasVMRecoveryPoint"
},
"KeyAndSecretDetails": {
"description": "BEK stands for Bitlocker Encryption Key.\r\n KEK stands for Key Encryption Key. KEK is the encryption key used to protect the Secret for the BEK\r\n If the VM is encrypted, then the service stores the following details :\r\n 1. Secret(BEK) - Url + Backup Data + vaultID.\r\n 2. Key(KEK) - Url + Backup Data + vaultID.\r\n It is possible for the BEK and KEK to have different vaultIDs.",
"type": "object",
"properties": {
"kekDetails": {
"$ref": "#/definitions/KEKDetails",
"description": "The Key Encryption Key (KEK) is the encryption key for the Bitlocker Encryption Key (BEK)."
},
"bekDetails": {
"$ref": "#/definitions/BEKDetails",
"description": "BEK is Bitlocker Encryption Key."
}
}
},
"KEKDetails": {
"description": "The Key Encryption Key (KEK) is the encryption key for the Bitlocker Encryption Key (BEK).",
"type": "object",
"properties": {
"keyUrl": {
"description": "Key refers to the Key Encryption Key (KEK). The KEK is the Key to unlock the Secret.",
"type": "string"
},
"keyVaultId": {
"description": "Key Vault ID identifies where the KEK is stored.",
"type": "string"
},
"keyBackupData": {
"description": "Key Backup Data refers to Key Encryption Key (KEK) data.",
"type": "string"
}
}
},
"BEKDetails": {
"description": "BEK is Bitlocker Encryption Key.",
"type": "object",
"properties": {
"secretUrl": {
"description": "Secret refers to Bitlocker Encryption Key (BEK). The Secret can be unlocked by the key (or KEK).",
"type": "string"
},
"secretVaultId": {
"description": "ID of the Key Vault where this Secret is stored.",
"type": "string"
},
"secretData": {
"description": "Bitlocker Encryption Key (BEK) data.",
"type": "string"
}
}
},
"GenericRecoveryPoint": {
"description": "Generic backup copy.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/RecoveryPoint"
}
],
"properties": {
"friendlyName": {
"description": "Friendly name of the backup copy.",
"type": "string"
},
"recoveryPointType": {
"description": "Type of the backup copy.",
"type": "string"
},
"recoveryPointTime": {
"format": "date-time",
"description": "The time when this backup copy was created.",
"type": "string"
},
"recoveryPointAdditionalInfo": {
"description": "Additional information associated with this backup copy.",
"type": "string"
}
},
"x-ms-discriminator-value": "GenericRecoveryPoint"
},
"IaasVMRestoreRequest": {
"description": "IaaS VM workload-specific restore.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/RestoreRequest"
}
],
"properties": {
"recoveryPointId": {
"description": "The ID of the backup copy to be recovered.",
"type": "string"
},
"recoveryType": {
"description": "The type of this recovery.",
"enum": [
"Invalid",
"OriginalLocation",
"AlternateLocation",
"RestoreDisks"
],
"type": "string",
"x-ms-enum": {
"name": "RecoveryType",
"modelAsString": false
}
},
"sourceResourceId": {
"description": "The fully qualified Resource Manager ID of the VM being recovered.",
"type": "string"
},
"targetVirtualMachineId": {
"description": "The complete Resource Manager ID of the VM that will be created.\r\n For example: /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
"type": "string"
},
"targetResourceGroupId": {
"description": "The Resource Manager ID of the resource group you're creating for this VM and other artifacts.\r\n For example: /subscriptions/{subId}/resourcegroups/{rg}",
"type": "string"
},
"storageAccountId": {
"description": "The fully qualified Resource Manager ID of the storage account where the VM will be restored.",
"type": "string"
},
"virtualNetworkId": {
"description": "This is the virtual network ID of the vnet that is attached to the virtual machine.\r\n Your join action permissions are validated during the linked access.",
"type": "string"
},
"subnetId": {
"description": "Subnet ID is the identifier for the VM to be restored. For Classic VMs the subnet ID would be {VnetID}/Subnet/{SubnetName}, and for the Resource Manager VMs, the subnet ID would be the Resource Manager resource ID used to represent the subnet.",
"type": "string"
},
"targetDomainNameId": {
"description": "The fully qualified Resource Manager ID of the domain name to be associated with the VM being restored. Use the Resource Manager ID to identify the domain, only for Classic-deployed virtual machines.",
"type": "string"
},
"region": {
"description": "The region where the virtual machine is restored.",
"type": "string"
},
"affinityGroup": {
"description": "The affinity group associated with the VM to be restored. Affinity groups are used only for Classic-deployed virtual machines.",
"type": "string"
},
"createNewCloudService": {
"description": "Asks the question if a new cloud service should be created while restoring the VM. If the answer is false, the VM is restored to the same cloud service.",
"type": "boolean"
},
"encryptionDetails": {
"$ref": "#/definitions/EncryptionDetails",
"description": "If the VM was encrypted at the time of backup, these details are needed."
}
},
"x-ms-discriminator-value": "IaasVMRestoreRequest"
},
"EncryptionDetails": {
"description": "Details needed if the VM was encrypted at the time of backup.",
"type": "object",
"properties": {
"encryptionEnabled": {
"description": "Identifies whether the backup copy represents an encrypted VM at the time of backup.",
"type": "boolean"
},
"kekUrl": {
"description": "URL of the Key Encryption Key (KEK).",
"type": "string"
},
"secretKeyUrl": {
"description": "URL of the Bitlocker Encryption Key (BEK).",
"type": "string"
},
"kekVaultId": {
"description": "The ID of Key Vault where the Key Encryption Key (KEK) is stored.",
"type": "string"
},
"secretKeyVaultId": {
"description": "The ID of Key Vault where the Bitlocker Encryption Key (BEK), or Secret, is stored.",
"type": "string"
}
}
},
"IaasVMILRRegistrationRequest": {
"description": "Restore files or folders from a backup copy, or recovery point, of an IaaS (or Azure) VM.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ILRRequest"
}
],
"properties": {
"recoveryPointId": {
"description": "The ID of the IaaS VM recovery point used to restore the files or folders.",
"type": "string"
},
"virtualMachineId": {
"description": "The fully qualified Resource Manager ID of the VM used to restore the files or folders.",
"type": "string"
},
"initiatorName": {
"description": "The iSCSI initiator name.",
"type": "string"
},
"renewExistingRegistration": {
"description": "Whether to renew the existing registration with the iSCSI server.",
"type": "boolean"
}
},
"x-ms-discriminator-value": "IaasVMILRRegistrationRequest"
},
"AzureIaaSVMJob": {
"description": "The Azure IaaS VM workload-specific job object.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/Job"
}
],
"properties": {
"duration": {
"format": "duration",
"description": "The time that elapsed during the execution of this job.",
"type": "string"
},
"actionsInfo": {
"description": "Gets or sets the state, or actions, applicable on this job. Examples of the actions are: Cancel or Retry.",
"type": "array",
"items": {
"enum": [
"Invalid",
"Cancellable",
"Retriable"
],
"type": "string",
"x-ms-enum": {
"name": "JobSupportedAction",
"modelAsString": false
}
}
},
"errorDetails": {
"description": "Error details about this job.",
"type": "array",
"items": {
"$ref": "#/definitions/AzureIaaSVMErrorInfo"
}
},
"virtualMachineVersion": {
"description": "Specifies whether the backup item is a Classic VM or a Resource Manager VM.",
"type": "string"
},
"extendedInfo": {
"$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
"description": "Additional information for this job."
}
},
"x-ms-discriminator-value": "AzureIaaSVMJob"
},
"AzureIaaSVMErrorInfo": {
"description": "Azure IaaS VM workload-specific error information.",
"type": "object",
"properties": {
"errorCode": {
"format": "int32",
"description": "Error code.",
"type": "integer"
},
"errorTitle": {
"description": "Title: typically, the entity associated the error.",
"type": "string"
},
"errorString": {
"description": "Localized error string.",
"type": "string"
},
"recommendations": {
"description": "List of localized recommendations for the error string.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"AzureIaaSVMJobExtendedInfo": {
"description": "Additional information for the Azure IaaS VM workload-specific job.",
"type": "object",
"properties": {
"tasksList": {
"description": "List of tasks associated with this job.",
"type": "array",
"items": {
"$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
}
},
"propertyBag": {
"description": "Job properties.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"progressPercentage": {
"format": "double",
"description": "Indicates progress of the job. Null if it has not started or completed.",
"type": "number"
},
"dynamicErrorMessage": {
"description": "Non-localized error message for job execution.",
"type": "string"
}
}
},
"AzureIaaSVMJobTaskDetails": {
"description": "Azure IaaS VM workload-specific job task details.",
"type": "object",
"properties": {
"taskId": {
"description": "The task display name.",
"type": "string"
},
"startTime": {
"format": "date-time",
"description": "The start time.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The end time.",
"type": "string"
},
"instanceId": {
"description": "The instance ID.",
"type": "string"
},
"duration": {
"format": "duration",
"description": "The time elapsed for the task.",
"type": "string"
},
"status": {
"description": "The status.",
"type": "string"
},
"progressPercentage": {
"format": "double",
"description": "The progress of the task, as a percentage.",
"type": "number"
}
}
},
"DpmJob": {
"description": "The DPM workload-specific job object.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/Job"
}
],
"properties": {
"duration": {
"format": "duration",
"description": "The time elapsed for the job.",
"type": "string"
},
"dpmServerName": {
"description": "DPM server name managing the backup item or backup job.",
"type": "string"
},
"containerName": {
"description": "The name of the cluster or server protecting the current backup item, if any.",
"type": "string"
},
"containerType": {
"description": "The type of container.",
"type": "string"
},
"workloadType": {
"description": "The type of backup item.",
"type": "string"
},
"actionsInfo": {
"description": "The state or actions applicable on this job, such as Cancel or Retry.",
"type": "array",
"items": {
"enum": [
"Invalid",
"Cancellable",
"Retriable"
],
"type": "string",
"x-ms-enum": {
"name": "JobSupportedAction",
"modelAsString": false
}
}
},
"errorDetails": {
"description": "The errors.",
"type": "array",
"items": {
"$ref": "#/definitions/DpmErrorInfo"
}
},
"extendedInfo": {
"$ref": "#/definitions/DpmJobExtendedInfo",
"description": "Additional information for this job."
}
},
"x-ms-discriminator-value": "DpmJob"
},
"DpmErrorInfo": {
"description": "DPM workload-specific error information.",
"type": "object",
"properties": {
"errorString": {
"description": "Localized error string.",
"type": "string"
},
"recommendations": {
"description": "The list of localized recommendations for the error string.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"DpmJobExtendedInfo": {
"description": "Additional information on the DPM workload-specific job.",
"type": "object",
"properties": {
"tasksList": {
"description": "List of tasks associated with this job.",
"type": "array",
"items": {
"$ref": "#/definitions/DpmJobTaskDetails"
}
},
"propertyBag": {
"description": "The job properties.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"dynamicErrorMessage": {
"description": "Non-localized error message on job execution.",
"type": "string"
}
}
},
"DpmJobTaskDetails": {
"description": "DPM workload-specific job task details.",
"type": "object",
"properties": {
"taskId": {
"description": "The task display name.",
"type": "string"
},
"startTime": {
"format": "date-time",
"description": "The start time.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The end time.",
"type": "string"
},
"duration": {
"format": "duration",
"description": "The time elapsed for task.",
"type": "string"
},
"status": {
"description": "The status.",
"type": "string"
}
}
},
"MabJob": {
"description": "The Azure Backup Server workload-specific job.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/Job"
}
],
"properties": {
"duration": {
"format": "duration",
"description": "The time required for the job to run.",
"type": "string"
},
"actionsInfo": {
"description": "The state or actions applicable on jobs such as Cancel or Retry.",
"type": "array",
"items": {
"enum": [
"Invalid",
"Cancellable",
"Retriable"
],
"type": "string",
"x-ms-enum": {
"name": "JobSupportedAction",
"modelAsString": false
}
}
},
"mabServerName": {
"description": "The name of server protecting the data store.",
"type": "string"
},
"mabServerType": {
"description": "Server type of the Azure Backup Server container.",
"enum": [
"Invalid",
"Unknown",
"IaasVMContainer",
"IaasVMServiceContainer",
"DPMContainer",
"DPMVenusContainer",
"MABContainer",
"ClusterResource",
"AzureSqlContainer",
"WindowsServer",
"Windows"
],
"type": "string",
"x-ms-enum": {
"name": "MabServerType",
"modelAsString": false
}
},
"workloadType": {
"description": "Workload type of backup item.",
"enum": [
"Invalid",
"VM",
"FileFolder",
"AzureSqlDb",
"SQLDB",
"Exchange",
"Sharepoint",
"DPMUnknown"
],
"type": "string",
"x-ms-enum": {
"name": "WorkloadType",
"modelAsString": false
}
},
"errorDetails": {
"description": "The errors.",
"type": "array",
"items": {
"$ref": "#/definitions/MabErrorInfo"
}
},
"extendedInfo": {
"$ref": "#/definitions/MabJobExtendedInfo",
"description": "Additional information on the job."
}
},
"x-ms-discriminator-value": "MabJob"
},
"MabErrorInfo": {
"description": "Azure Backup Server workload-specific error information.",
"type": "object",
"properties": {
"errorString": {
"description": "Localized error string.",
"type": "string"
},
"recommendations": {
"description": "List of localized recommendations.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"MabJobExtendedInfo": {
"description": "Additional information for the Azure Backup Server workload-specific job.",
"type": "object",
"properties": {
"tasksList": {
"description": "List of tasks for this job.",
"type": "array",
"items": {
"$ref": "#/definitions/MabJobTaskDetails"
}
},
"propertyBag": {
"description": "The job properties.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"dynamicErrorMessage": {
"description": "Non-localized error message specific to this job.",
"type": "string"
}
}
},
"MabJobTaskDetails": {
"description": "Azure Backup Server workload-specific job task details.",
"type": "object",
"properties": {
"taskId": {
"description": "The task display name.",
"type": "string"
},
"startTime": {
"format": "date-time",
"description": "The start time.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The end time.",
"type": "string"
},
"duration": {
"format": "duration",
"description": "Time elapsed for task.",
"type": "string"
},
"status": {
"description": "The status.",
"type": "string"
}
}
},
"OperationResultInfo": {
"description": "Information about the result of the operation.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/OperationResultInfoBase"
}
],
"properties": {
"jobList": {
"description": "List of jobs created by this operation.",
"type": "array",
"items": {
"type": "string"
}
}
},
"x-ms-discriminator-value": "OperationResultInfo"
},
"ExportJobsOperationResultInfo": {
"description": "This class is used to send blob details after exporting jobs.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/OperationResultInfoBase"
}
],
"properties": {
"blobUrl": {
"description": "The URL of the blob. The serialized string, which is the list of jobs, is exported to this URL.",
"type": "string"
},
"blobSasKey": {
"description": "The Shared Access Signatures (SAS) key used to access the blob. The key expires after 15 minutes.",
"type": "string"
}
},
"x-ms-discriminator-value": "ExportJobsOperationResultInfo"
},
"AzureIaaSComputeVMContainer": {
"description": "IaaS VM workload-specific backup item representing a Resource Manager-deployed virtual machine.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/IaaSVMContainer"
}
],
"x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
},
"AzureIaaSClassicComputeVMContainer": {
"description": "IaaS VM workload-specific backup item representing a classic-deployed virtual machine.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/IaaSVMContainer"
}
],
"x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
},
"AzureIaaSComputeVMProtectableItem": {
"description": "IaaS VM workload-specific backup item representing a Resource Manager VM.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/IaaSVMProtectableItem"
}
],
"x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
},
"AzureIaaSClassicComputeVMProtectableItem": {
"description": "IaaS VM workload-specific backup item representing a classic VM.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/IaaSVMProtectableItem"
}
],
"x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
},
"AzureIaaSComputeVMProtectedItem": {
"description": "IaaS VM workload-specific backup item representing the Resource Manager VM.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/AzureIaaSVMProtectedItem"
}
],
"x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
},
"AzureIaaSClassicComputeVMProtectedItem": {
"description": "IaaS VM workload-specific backup item representing the classic VM.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/AzureIaaSVMProtectedItem"
}
],
"x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
},
"OperationStatusJobExtendedInfo": {
"description": "Extended information about the operation status job.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/OperationStatusExtendedInfo"
}
],
"properties": {
"jobId": {
"description": "ID of the job created for this backup item.",
"type": "string"
}
},
"x-ms-discriminator-value": "OperationStatusJobExtendedInfo"
},
"OperationStatusProvisionILRExtendedInfo": {
"description": "Extended information about the Item Level Recovery (ILR) provision action, operation status.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/OperationStatusExtendedInfo"
}
],
"properties": {
"recoveryTarget": {
"$ref": "#/definitions/InstantItemRecoveryTarget",
"description": "Target details for the file or folder restore."
}
},
"x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
},
"InstantItemRecoveryTarget": {
"description": "Target details for the file or folder restore.",
"type": "object",
"properties": {
"clientScripts": {
"description": "List of client scripts.",
"type": "array",
"items": {
"$ref": "#/definitions/ClientScriptForConnect"
}
}
}
},
"ClientScriptForConnect": {
"description": "Client script details for the file or folder restore.",
"type": "object",
"properties": {
"scriptContent": {
"description": "File content of the client script for file or folder restore.",
"type": "string"
},
"scriptExtension": {
"description": "File extension of the client script for the file or folder restore. Some examples of the extension are: .ps1 and .sh.",
"type": "string"
},
"osType": {
"description": "The operating system platform (\"Windows\" or \"Linux\") for which this file or folder restore client script works.",
"type": "string"
}
}
},
"OperationStatusJobsExtendedInfo": {
"description": "Operation status extended info for the job list.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/OperationStatusExtendedInfo"
}
],
"properties": {
"jobIds": {
"description": "IDs of the jobs created for the backup item.",
"type": "array",
"items": {
"type": "string"
}
},
"failedJobsError": {
"description": "Stores all the failed jobs along with the corresponding error codes.",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"x-ms-discriminator-value": "OperationStatusJobsExtendedInfo"
},
"LongTermSchedulePolicy": {
"description": "Long-term policy schedule.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/SchedulePolicy"
}
]
},
"SimpleSchedulePolicy": {
"description": "Simple policy schedule.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/SchedulePolicy"
}
],
"properties": {
"scheduleRunFrequency": {
"description": "Defines the frequency interval (daily or weekly) for the schedule policy.",
"enum": [
"Invalid",
"Daily",
"Weekly"
],
"type": "string",
"x-ms-enum": {
"name": "ScheduleRunType",
"modelAsString": false
}
},
"scheduleRunDays": {
"description": "This list is the days of the week when the schedule runs.",
"type": "array",
"items": {
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string",
"x-ms-enum": {
"name": "DayOfWeek",
"modelAsString": false
}
}
},
"scheduleRunTimes": {
"description": "List of times, during a day, when the schedule runs.",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"scheduleWeeklyFrequency": {
"format": "int32",
"description": "The number of times per week the schedule runs.",
"type": "integer"
}
},
"x-ms-discriminator-value": "SimpleSchedulePolicy"
},
"SimpleRetentionPolicy": {
"description": "Simple policy retention.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/RetentionPolicy"
}
],
"properties": {
"retentionDuration": {
"$ref": "#/definitions/RetentionDuration",
"description": "Retention duration of the protection policy."
}
},
"x-ms-discriminator-value": "SimpleRetentionPolicy"
},
"RetentionDuration": {
"description": "Retention duration.",
"type": "object",
"properties": {
"count": {
"format": "int32",
"description": "Count of the duration types. Retention duration is determined by the combining the Count times and durationType. \r\n For example, if Count = 3 and durationType = Weeks, then the retention duration is three weeks.",
"type": "integer"
},
"durationType": {
"description": "The retention duration type of the retention policy.",
"enum": [
"Invalid",
"Days",
"Weeks",
"Months",
"Years"
],
"type": "string",
"x-ms-enum": {
"name": "RetentionDurationType",
"modelAsString": false
}
}
}
},
"LongTermRetentionPolicy": {
"description": "Long-term retention policy.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/RetentionPolicy"
}
],
"properties": {
"dailySchedule": {
"$ref": "#/definitions/DailyRetentionSchedule",
"description": "Daily retention schedule of the backup policy."
},
"weeklySchedule": {
"$ref": "#/definitions/WeeklyRetentionSchedule",
"description": "Weekly retention schedule of the backup policy."
},
"monthlySchedule": {
"$ref": "#/definitions/MonthlyRetentionSchedule",
"description": "Monthly retention schedule of the backup policy."
},
"yearlySchedule": {
"$ref": "#/definitions/YearlyRetentionSchedule",
"description": "Yearly retention schedule of the backup policy."
}
},
"x-ms-discriminator-value": "LongTermRetentionPolicy"
},
"DailyRetentionSchedule": {
"description": "Daily retention schedule.",
"type": "object",
"properties": {
"retentionTimes": {
"description": "The retention times of retention policy.",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"retentionDuration": {
"$ref": "#/definitions/RetentionDuration",
"description": "The retention duration of retention policy."
}
}
},
"WeeklyRetentionSchedule": {
"description": "Weekly retention schedule.",
"type": "object",
"properties": {
"daysOfTheWeek": {
"description": "List of the days of the week for the weekly retention policy.",
"type": "array",
"items": {
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string",
"x-ms-enum": {
"name": "DayOfWeek",
"modelAsString": false
}
}
},
"retentionTimes": {
"description": "Retention times of the retention policy.",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"retentionDuration": {
"$ref": "#/definitions/RetentionDuration",
"description": "Retention duration of retention policy."
}
}
},
"MonthlyRetentionSchedule": {
"description": "The monthly retention schedule.",
"type": "object",
"properties": {
"retentionScheduleFormatType": {
"description": "Retention schedule format type for monthly retention policy.",
"enum": [
"Invalid",
"Daily",
"Weekly"
],
"type": "string",
"x-ms-enum": {
"name": "RetentionScheduleFormat",
"modelAsString": false
}
},
"retentionScheduleDaily": {
"$ref": "#/definitions/DailyRetentionFormat",
"description": "Daily retention format for the monthly retention policy."
},
"retentionScheduleWeekly": {
"$ref": "#/definitions/WeeklyRetentionFormat",
"description": "Weekly retention format for the monthly retention policy."
},
"retentionTimes": {
"description": "Retention times of the retention policy.",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"retentionDuration": {
"$ref": "#/definitions/RetentionDuration",
"description": "Retention duration of the retention policy."
}
}
},
"YearlyRetentionSchedule": {
"description": "Yearly retention schedule.",
"type": "object",
"properties": {
"retentionScheduleFormatType": {
"description": "Retention schedule format for the yearly retention policy.",
"enum": [
"Invalid",
"Daily",
"Weekly"
],
"type": "string",
"x-ms-enum": {
"name": "RetentionScheduleFormat",
"modelAsString": false
}
},
"monthsOfYear": {
"description": "List of the months of year for the yearly retention policy.",
"type": "array",
"items": {
"enum": [
"Invalid",
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"type": "string",
"x-ms-enum": {
"name": "MonthOfYear",
"modelAsString": false
}
}
},
"retentionScheduleDaily": {
"$ref": "#/definitions/DailyRetentionFormat",
"description": "Daily retention format for the yearly retention policy."
},
"retentionScheduleWeekly": {
"$ref": "#/definitions/WeeklyRetentionFormat",
"description": "Weekly retention format for the yearly retention policy."
},
"retentionTimes": {
"description": "Retention times for the retention policy.",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"retentionDuration": {
"$ref": "#/definitions/RetentionDuration",
"description": "Retention duration for the retention policy."
}
}
},
"DailyRetentionFormat": {
"description": "Daily retention format.",
"type": "object",
"properties": {
"daysOfTheMonth": {
"description": "List of days of the month.",
"type": "array",
"items": {
"$ref": "#/definitions/Day"
}
}
}
},
"WeeklyRetentionFormat": {
"description": "Weekly retention format.",
"type": "object",
"properties": {
"daysOfTheWeek": {
"description": "List of days of the week.",
"type": "array",
"items": {
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string",
"x-ms-enum": {
"name": "DayOfWeek",
"modelAsString": false
}
}
},
"weeksOfTheMonth": {
"description": "List of weeks of the month.",
"type": "array",
"items": {
"enum": [
"First",
"Second",
"Third",
"Fourth",
"Last"
],
"type": "string",
"x-ms-enum": {
"name": "WeekOfMonth",
"modelAsString": false
}
}
}
}
},
"Day": {
"description": "Day of the week.",
"type": "object",
"properties": {
"date": {
"format": "int32",
"type": "integer"
},
"isLast": {
"type": "boolean"
}
}
},
"ResourceList": {
"description": "Base for all lists of resources.",
"type": "object",
"properties": {
"nextLink": {
"description": "The URI to GET the next page of resources. Call ListNext() gets the next page of resources.",
"type": "string"
}
}
},
"BackupEngineBaseResourceList": {
"description": "List of BackupEngineBase resources",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "List of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/BackupEngineBaseResource"
}
}
}
},
"BackupEngineBaseResource": {
"description": "The base backup engine class. All workload-specific backup engines derive from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/BackupEngineBase"
}
}
},
"OperationResultInfoBaseResource": {
"description": "Base class for operation result information.",
"allOf": [
{
"$ref": "#/definitions/OperationWorkerResponse"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/OperationResultInfoBase"
}
}
}
},
"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 associated with the Recovery Services vault.",
"required": true,
"x-ms-parameter-location": "method",
"type": "string"
},
"VaultName": {
"name": "vaultName",
"in": "path",
"description": "The name of the Recovery Services vault.",
"required": true,
"x-ms-parameter-location": "method",
"type": "string"
},
"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"
]
}
]
}